mybatis框架入門程式:演示通過mybatis實現資料庫的模糊查詢操作
阿新 • • 發佈:2018-12-20
1. mybatis的基本準備操作見我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10149480.html
2. 根據使用者名稱查詢使用者資訊:
(1)對映檔案:
在User.xml中新增:
<!-- 模糊查詢 返回結果可能為集合;如果返回結果為集合,呼叫selectList(),並且返回型別配置集合中的泛型。集合中存放的就是User,所以返回型別就是User型別 ${}拼接符:字串原樣拼接。如果傳入的基本型別{String,long,double,int boolean等},那麼 ${}中的變數名必須是value.--> <select id="findUserByUsername" parameterType="java.lang.String" resultType="com.huida.po.User"> <!-- 模糊查詢的佔位符需要進行拼接 --> select * from user where username like "%${value}%" </select>
parameterType:定義輸入到sql中的對映型別。
返回結果可能為集合;如果返回結果為集合,在測試檔案中呼叫selectList(),並且返回型別配置集合中的泛型。集合中存放的就是User,所以返回型別就是User型別。
${}拼接符:字串原樣拼接。如果傳入的基本型別{String,long,double,int boolean等},那麼${}中的變數名必須是value。
(2)測試程式:
@Test public void testFindUserByUsername() throws Exception{ //通過流將核心配置檔案讀取進來 InputStream inputStream=Resources.getResourceAsStream("config/SqlMapConfig.xml"); //通過核心配置檔案輸入流來建立工廠SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream); //通過工廠建立session SqlSession openSession=factory.openSession(); //查詢語句,返回值為User物件 List<User> list=(List) openSession.selectList("test.findUserByUsername","li"); System.out.println(list); //關閉資源 openSession.close(); //factory沒有close(),因為session關閉之後,factory也就關閉了。 }
3.單元測試:
當我們查詢的條件是“li”的時候,會輸出名字中帶li的所有記錄,當我們的查詢條件是“lisi”的時候,查詢結果只有username為“lisi”的這一條記錄。所以通過模糊查詢可以實現查詢一條或多條記錄。