关于mybatis的#{}与${}
2016-03-28 18:17
92 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012140489/article/details/51000049
今天在mybatis项目中用到动态表名,与列明:刚开始以为像正常传的参数一样就可以获取到表名与列明,但项目报错出现表未定义的错误
但用了一下sql就可以出来
<update id="saveCheckData" parameterType="java.util.List" statementType="STATEMENT">
begin
<foreach collection="list" item="lists" index="index" separator=";">
update ${lists.XGBM}
<set>
<if test="lists.ROWNAME != null">
${lists.ROWNAME} = '1'
</if>
</set>
where ${lists.TJ} = ${lists.TJData}
</foreach>
;end;
</update>
到网上找了下#{}与${}的区别
1:#{}为预编译的及PreparedStatement,${}为非预编译的及STATEMENT,因为数据库会preparedStatement 语句进行预编译,下次执行相同的sql语句时,数据库端不会再进行预编译了,而直接用数据库的缓冲区,提高数据访问的效率,sql语句只执行一次,以后不再复用.
2:最好使用PreparedStatement,#{}的性能要高于${}
相关文章推荐
- 关于mybatis数据库表与类中属性不一致的问题终极解决办法
- MyBatis3 学习笔记(一) 关于第一个小程序引发的一些小异常
- Springboot关于mybatis的整合(其实是SSM的整合)
- 关于mybatis中的resultType与resultMap用法及误区
- myBatis关于数据插入的问题
- 关于mybatis 的 BuilderException和Error parsing Mapper XML错误
- 关于Mybatis的Batch模式性能测试及结论
- 关于CKEditor4.5.6的使用,自定义toolbar配置,上传图片案例(SpringMVC+MyBatis案例),自定义行高,去编辑器的中内容,将编辑器中内容设置到指定的位置等
- 关于mybatis的batch模式性能测试及结论
- 关于Mybatis中update语句更新表中数据的流程!(有问题没有搞清楚)
- 关于 mybatis 的模糊查询
- mybatis关于oracle和mysql批量插入的区别
- 关于spring整合mybatis的扫描器的配置问题
- 关于使用Mybatis的分页插件com.github.pagehelper报空指针
- mybatis 关于条件的判断
- 关于Mybatis 中模糊查询查找不到Mysql数据库的内容的问题
- mybatis 关于 Parameter Maps collection does not contain value for
- MyBatis中关于别名typeAliases的设置
- 关于mybatis 中文条件查询没结果的问题
- MyBatis整体预览(二)(关于自己开发插件与mybatis 的整合)