内容简介:这篇文章主要介绍了MyBatis使用动态表或列代码解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
有时候会不可避免使用动态表或者列进行业务处理。下面学习几种动态表/列的使用方式:
【1】使用预编译
即,默认值。
<select id="hisNumber" parameterType="hashmap" resultType="hashmap" >
select number from ${oldTableName}
<!--这里使用"$"!!!-->
where name=#{name} and date = #{date}
<!--这里使用"#"-->
<select>
预编译,即首先会生成select number from ? where name=? and date=? 这样使用”?”作为占位符的语句,然后进行参数解析。
【2】使用非预编译
<select id="hisNumber" parameterType="hashmap" resultType="hashmap" statementType="STATEMENT" >
select number from ${oldTableName}
<!--这里使用"$"!!!-->
where name='${name,jdbcType=VARCHAR}' and date = '${date,jdbcType=TIMESTAMP}'
<select>
注意后面name和date的取值,使用了'${name}' 格式,这样会对参数进行数据类型转换,有助于 mysql 查询时提升性能。
【3】仍旧使用非预编译
<select id="hisNumber" parameterType="hashmap" resultType="hashmap" statementType="STATEMENT" >
select number from ${oldTableName}
<!--这里使用"$"!!!-->
where name=${name} and date = ${date}
<select>
注意后面name和date的取值,使用了${name} 格式,将会直接取参数值,不进行数据类型转换。当参数为数值类型且格式如“00124”时,将会出现数据错读(会将0124、124等都读出来)。
故建议使用第一种方式!!
总结
以上就是本文关于MyBatis使用动态表或列代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
以上所述就是小编给大家介绍的《MyBatis使用动态表或列代码解析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 浅谈JavaScript代码预解析
- PostgreSQL 字符编码相关代码解析
- PostgreSQL 环境变量相关代码解析
- Istio Pilot 代码深度解析
- Istio 服务注册插件机制代码解析
- Istio 服务注册插件机制代码解析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learn Python the Hard Way
Zed Shaw / Example Product Manufacturer / 2011
This is a very beginner book for people who want to learn to code. If you can already code then the book will probably drive you insane. It's intended for people who have no coding chops to build up t......一起来看看 《Learn Python the Hard Way》 这本书的介绍吧!