mybatis入門程式:mybatis根據使用者名稱稱模糊查詢使用者資訊
根據使用者名稱稱模糊查詢使用者資訊
1、在對映檔案中配置SQL語句
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace名稱空間,作用就是對SQL進行分類化管理,理解為SQL的隔離-->
<mapper namespace="test">
<!--根據使用者name模糊查詢使用者-->
<select id="findUserByName" parameterType="String" resultType="edu.tjut.pojo.User">
SELECT * FROM user WHERE username LIKE '%${value}%'
</select>
</mapper>
其中:resultType:指定的就是單條記錄所對映的java物件型別
$ {}:表示拼接SQL串,將接收到的引數內容不加任何修飾拼接在SQL中。
使用$ {}拼接SQL,引起SQL隱碼攻擊
$ {value}:接收輸入引數的內容,如果傳入型別是簡單型別,$ {}中只能是value,使用$ {value},可能會引起SQL隱碼攻擊,存在安全隱患。
2、程式程式碼
//根據使用者name模糊查詢使用者
@Test
public void findUserByName() throws IOException{
//mybatis配置檔案
String resource = "SqlMapConfig.xml";
//得到配置檔案流
InputStream inputStream = Resources.getResourceAsStream(resource);
//建立會話工廠,傳入mybatis的配置檔案資訊
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//通過工廠得到SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
List<User> list = sqlSession.selectList("test.findUserByName","小明");
System.out.println(list);
sqlSession.close();
}
3、總結:
3.1 parameterType
在對映檔案中通過parameterType指定輸入引數的型別
3.2 resultType
在對映檔案中通過resultType指定輸出結果的型別
3.3 #{ }和${ }
#{ }表示一個佔位符。
${ }表示一個拼接符號,可能會引起SQL隱碼攻擊,所以不建議使用。
3.4 selectOne和selectList
selectOne表示查詢出一條記錄進行對映,如果使用selectOne可以實現使用selectList也可以實現(list中只有一個物件)
selectList表示查詢出一個列表(多條記錄)進行對映,如果使用selectList查詢多條記錄,不能使用selectOne。
相關文章
- 根據使用者名稱和密碼查詢使用者密碼
- ABAP 根據使用者名稱查姓名
- 商城-使用者註冊-根據使用者名稱和密碼查詢使用者密碼
- mysql之查詢使用者名稱MySql
- C# 根據前臺傳入實體名稱,動態查詢資料C#
- MyBatis模糊查詢LIKEMyBatis
- mybatis - [07] 模糊查詢MyBatis
- Mybatis之map操作使用者和模糊查詢擴充套件MyBatis套件
- 根據教程中,輸錯密碼或使用者名稱後,卻不能返回‘使用者名稱或密碼錯誤’密碼
- mybatis 根據多個id查詢資料 foreach標籤MyBatis
- MyBatis-maven-User例子-根據id查詢UserMyBatisMaven
- mybatis-模糊查詢like CONCATMyBatis
- day14--【Mybatis】動態代理--根據id查詢MyBatis
- 檢查使用者名稱是否使用介面
- Vue檢查使用者名稱是否使用Vue
- Mybatis中Oracle的拼接模糊查詢MyBatisOracle
- Mybatis模糊查詢結果為空MyBatis
- mybatis 對特殊字元的模糊查詢MyBatis字元
- mybatis入門程式:刪除、更新使用者&&hibernate和mybatis的區別MyBatis
- Kubernetes 教程:根據 PID 獲取 Pod 名稱
- 根據使用者型別跳轉頁面(基於mybatis)型別MyBatis
- mybatis xml 檔案中like模糊查詢MyBatisXML
- MyBatis(二)MyBatis入門程式(MyBatis demo)MyBatis
- Linux中實現根據scaffold名稱從fasta檔案中提取資料(scaffold名稱長)LinuxAST
- 修改 Ubuntu 系統使用者名稱和登入名Ubuntu
- python 使用者註冊使用者名稱Python
- github修改使用者名稱Github
- mysql like查詢 - 根據多個條件的模糊匹配查詢MySql
- Linux裝置名稱的查詢Linux
- WordPress使用者名稱能改幾次?附更改使用者名稱4種方法
- 使用者名稱和密碼輸入練習密碼
- mybatis入門程式MyBatis
- 查詢使用者登入資訊sqlSQL
- win10怎麼改使用者名稱_win10如何更改使用者名稱Win10
- 查詢 Linux 發行版名稱、版本和核心詳細資訊Linux
- Kubernetes 名稱空間入門
- 17.django新增檢查使用者名稱和手機號數量介面+vue檢查使用者名稱,手機號是否重複DjangoVue
- Git使用者名稱郵箱配置Git