使用mybatis框架,我们都知道SQL是写在mybatis的mapper配置文件中,下面就说说:在xml中的SQL拼接以及时间条件的使用
1、SQL语句字符串前后拼接可以使用标准SQL的CONCAT函数,如模糊查询条件拼接“%”推荐使用:CONCAT(CONCAT('%',#{name}),'%')
尽管MySQL支持同时拼接前缀和后缀:CONCAT('%','test','%'),但对于Oracle数据库却并不兼容
(PS:所以在开发中还是用标准的SQL处理比较好: CONCAT(CONCAT('%','test'),'%');)
2、包含大于号(>)、小于号(<)的SQL使用“<![CDATA[”和“]]>”进行包含,或者使用“>” 代替大于号,“<”代替小于号,避免XML解析错误;
方式一:
<![CDATA[SELECT a.* FROM TABLE_ACTIVE a WHERE(a.start_date>#{sysdate} OR a.end_date<#{sysdate})]]>
方式二:
SELECTa.* FROM TABLE_ACTIVE a WHERE (a.start_date> #{sysdate} OR a.end_date < #{sysdate})