mybatis动态传表名(可以不加statementType="STATEMENT")
程序员文章站
2022-04-22 10:32:43
...
问:mybatis动态传表名,是不是要加一个statementType="STATEMENT"?
答:
①不用加“statementType="STATEMENT"”就可以;(进化了!!更灵活!)
②的确是用${}。
③如果直接采用${},的确是不安全,会有SQL注入攻击的危险。一般会在SpringMVC层将敏感字符转义。比如">"用“>”表示,网上有很多封装函数,或者apache common lang包的StringEscapeUtils.escapeHtml()等等
而且#{}与${}还可以同时存在!
而且#{}与${}还可以同时存在!
而且#{}与${}还可以同时存在!
不信可以试试:
<select id="listForPage" parameterType="com.msg.domain.MainCims" resultType="com.msg.domain.MainCims">
SELECT * FROM main_cims WHERE status=#{status} and flow_type=#{flowType} and reporter_id=#{repId} ORDER BY ${time} DESC
</select>
上一篇: sql rtrim()与ltrim()函数的使用方法
下一篇: 求问以下方法为何不能得到返回值?