MyBatis注意事项
2016-05-27 17:12
351 查看
MyBatis两点注意事项:
1、 parameterType 可以不填, MyBatis 可以通过 TypeHandler 推断出具体传入语句的参数。
2、字符串替换
默认情况下,使用#{}格式的语法, MyBatis 会创建预处理语句属性并安全地设置值(比如?)。这样做更安全、更迅速,通常也是首选做法,不过有时你只是想直接在 SQL 语句中插入一个不改变的字符串。比如,像 ORDER BY,你可以这样来使用:
ORDER BY ${columnName}
这种方式 MyBatis 不会修改或转义字符串。
以这种方式接受从用户输出的内容并提供给语句中不变的字符串是不安全的,会导致潜在的 SQL 注入攻击,因此要么不允许用户输入这些字段,要么自行转义并检验。
所以不要采用这种方式:
要采用这种方式:
MyBatis两点注意事项:
1、 parameterType 可以不填, MyBatis 可以通过 TypeHandler 推断出具体传入语句的参数。
2、字符串替换
默认情况下,使用#{}格式的语法, MyBatis 会创建预处理语句属性并安全地设置值(比如?)。这样做更安全、更迅速,通常也是首选做法,不过有时你只是想直接在 SQL 语句中插入一个不改变的字符串。比如,像 ORDER BY,你可以这样来使用:
ORDER BY ${columnName}
这种方式 MyBatis 不会修改或转义字符串。
以这种方式接受从用户输出的内容并提供给语句中不变的字符串是不安全的,会导致潜在的 SQL 注入攻击,因此要么不允许用户输入这些字段,要么自行转义并检验。
所以不要采用这种方式:
<!-- update --> <update id="update" parameterType="DictItem"> update dict_item set name='${t.name}', code='${t.code}', remark='${t.remark}' where id='${t.id}' </update>
要采用这种方式:
<!-- update --> <update id="update" > update dict_item set name=#{t.name}, code=#{t.code}, remark=#{t.remark} where id=#{t.id} </update>
相关文章推荐
- 地震发生时的10条注意事项
- Web2.0下XHTML+CSS 设计需要注意的地方小结
- MySQL数据库的23个注意事项
- SQL编程之子查询及注意事项
- 部署PHP项目应该注意的几点事项分享
- 用ASP开发网页需要牢记的注意事项
- 45个JavaScript编程注意事项、技巧大全
- jquery 注意事项与常用语法小结
- 安装防火墙的12个注意事项
- Access转换成SQL Server需要注意事项整理
- 深入浅析mybatis oracle BLOB类型字段保存与读取
- MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
- ASP.NE网站发布注意事项简析
- css display:none使用注意事项小结
- Android生存指南之:开发中的注意事项
- jQuery语法总结和注意事项小结
- SpringMVC整合mybatis实例代码
- oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
- MyBatis学习笔记(二)之关联关系
- 浅析Mybatis 在CS程序中的应用