一、在日志中输出ibatis最终执行的SQL语句

在log4j中进行如下配置:

<logger name="java.sql">
    <level value ="debug"/>
    <appender-ref ref="FILE"/>
</logger>

二、在ibatis中进行模糊查询

堆栈溢出了一下之后,有两种比较常见的方式:

name like '%$name$%'
这种方式丢弃了ibatis的类型检查,会引入SQL注入问题

name like '%' || #name# || '%'
因为窝的数据库是mysql,所以这句话变更为

name like concat('%', '#name#', '%')
最终这个方法是测试通过的

三、在ibatis中传入数组类型的参数

通过foreach实现,千万表忘了openclose,手贱删了这两参数结果不正常查了半天。。。

<isNotEmpty prepend="and" property="names">
    <iterate open="(" close=")" conjunction="AND" property="names">
        name like concat('%',#names[]#,'%')
    </iterate>
</isNotEmpty>

小朋友
395 声望11 粉丝

引用和评论

0 条评论