Mybatis使用总结

2023-04-12


1. Mapped Statements collection does not contain value for *.executeSql


原因:xxMapper.xml配置文件和java接口,方法名不匹配。


2. 动态传入纯sql执行:


配置:






注意:默认的编译方式改了(预编译改为非预编译),并且参数接受使用${XXX}方式。


3. 对与CLOB字段的处理:


configuration.xml中配置:






	



查询时:





       AND FCONTENT = #{fcontent,jdbcType=CLOB,typeHandler="org.springframework.orm.ibatis.support.ClobStringTypeHandler"}

插入和更新时:使用上述配置处理。


4. 需要在xml文件中使用<号的时候如何处理:


一种方法:在某一个类中定义一个属性,使其值为'<',然后parameterType指定为这个类,其符号用其代替。比如我有一个Page类,定义一个属性 startOperator = "<=" 然后调用:${page.startOperator}


另一种方法:采用转义字符直接替换<号为 < >号为>即可。


注:${name},官方解释这种方式,Mybatis不会修改或者转义字符串。但是这样不安全,存在潜在的注入攻击。因此不应该允许用户直接输入此类字段,或者通常自行转义并检查。


本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com