1. 程式人生 > >mybatis框架入門程式:演示通過mybatis實現資料庫的模糊查詢操作

mybatis框架入門程式:演示通過mybatis實現資料庫的模糊查詢操作

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”的這一條記錄。所以通過模糊查詢可以實現查詢一條或多條記錄。