Mybatis之SQL語句拼接
阿新 • • 發佈:2019-02-05
查詢條件提交到邏輯層後,由獲取到的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 !"".equals(command.trim())">
and COMMAND=#{command}
</if>
通過if標籤來判斷,command 是否為空
2. 因為是在xml檔案中,所以要使用一些在html中的轉義字元,如&要寫成&
3. 在Configuration.xml檔案中要設定連線到資料庫URL的字符集,否則出現亂碼導致匹配不到
jdbc:mysql://localhost:3306/wechat?useUnicode=true &characterEncoding=UTF-8
目前位置,有個疑問就是Mybatis到底比JDBC好的地方在哪裡?同樣都是要進行Sql語句的拼接。。。也沒有像Hibernate中的進行了面向物件的封裝???