MyBatis SQL语句操作Mysql
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MyBatis SQL语句操作Mysql,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1874字,纯文字阅读大概需要3分钟。
内容图文
一,多条件查询
示意SQL语句:SELECT t_field1, t_field2 FROM table_name WHERE t_field3 (BETWEEN startTime AND endTime) AND t_field4 IN (xxx,xxx,xxx)
Mapper接口配置:
public List<Chat> query(@Param("startTime") long startTime, @Param("endTime") long endTime, @Param("sids") List<Long> sidList);
Mapper.xml配置:
<select id="query" resultMap="chat"> SELECT uid,content from tableName WHERE ( UNIX_TIMESTAMP(data_time) >= #{startTime} ) AND ( UNIX_TIMESTAMP(data_time) <= #{endTime} ) AND sid IN <foreach collection="sids" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> </select>
resultMap 将数据库中的列名 与 JavaBean 属性名 对应,从而映射成Java对象。Chat则是一个拥有两个字段(uid 和 content)的 JavaBean类。
<resultMap id="chat" type="Chat"><!-- Chat 是在mybatisConfig.xml中定义的别名(全限定包名在 mybatisConfig.xml中配置了)--> <id property="id" column="id"/> <result property="uid" column="uid"/> <result property="content" column="content"/> </resultMap>
解释:①Mapper接口中的方法名 与 Mapper.xml中的 <select id 一 一对应。
②Mapper接口 通过 @Param 实现多个参数传递。可参考:MyBatis简单使用和入门理解 中的“使用参数注解的形式传递多个参数”。@Param中指定的参数名称 与 select 查询语句中的 名称 一 一对应。比如:@param("startTime") 对应 #{startTime} 。 @param("endTime") 对应 #{endTime} 。
@param("sids") 对应 foreach collection="sids"
③通过 foreach 语句,对 sid 字段 实现了 多条件匹配。相当于 sid IN {xxx1,xxx2,xxx3....}
④另外对于数据库中的String类型 data_time字段,首先转化成UNIX时间戳,然后与 startTime 及 endTime 比较。注意的是 <= 是用 < 来表示的。否则会报下面错误:
tag name are expected
MyBatis SQL语句操作Mysql
标签:ted param rtti line art cte tac sof html
本文系统来源:http://www.cnblogs.com/hapjin/p/7466393.html
内容总结
以上是互联网集市为您收集整理的MyBatis SQL语句操作Mysql全部内容,希望文章能够帮你解决MyBatis SQL语句操作Mysql所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。