1. 程式人生 > >Mybatis之SQL語句拼接

Mybatis之SQL語句拼接

查詢條件提交到邏輯層後,由獲取到的sqlSession來執行配置檔案中的sql語句,格式:

sqlSession.selectList("id", parameter);

parameter可以是String,也可以是一個封裝了很多不同資料型的物件,但無論如何都只能有一個引數,在xml中可以直接通過寫物件的屬性來獲得該屬性的值。

拼接的注意事項:
1. 可以包含OGNL表示式,但要符合Mybatis下OGNL表示式的規範 ,如在and DESCRIPTION like '%' #{description} '%' 中就要注意'%'#{description} 之間的空格,另外值得一提的是OGNL的功能很強大,可以在表示式中直接寫java中的函式,如

<if test="command != null and !&quot;&quot;.equals(command.trim())">
     and COMMAND=#{command}
 </if>

通過if標籤來判斷,command 是否為空
2. 因為是在xml檔案中,所以要使用一些在html中的轉義字元,如&要寫成&amp;
3. 在Configuration.xml檔案中要設定連線到資料庫URL的字符集,否則出現亂碼導致匹配不到

jdbc:mysql://localhost:3306/wechat?useUnicode=true
&amp;characterEncoding=UTF-8

目前位置,有個疑問就是Mybatis到底比JDBC好的地方在哪裡?同樣都是要進行Sql語句的拼接。。。也沒有像Hibernate中的進行了面向物件的封裝???