Mybatis映射文件动态SQL语句-02
foreach
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hao.mapper.UserMapper"><select id="findByCondition" parameterType="user" resultType="user">select * from user<where><if test="id!=0">and id=#{id}</if><if test="username!=null">and username=#{username}</if><if test="password!=null">and password=#{password}</if></where></select><select id="findByIds" parameterType="list" resultType="user">select * from user<where><foreach collection="list" open="id in(" close=")" item="id" separator=",">#{id}</foreach></where></select>
</mapper>
测试
@Testpublic void test1() throws IOException {InputStream stream = Resources.getResourceAsStream("SqlMapConfig.xml");SqlSession sqlSession = new SqlSessionFactoryBuilder().build(stream).openSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<Integer> ids=new ArrayList<>();ids.add(1);ids.add(2);List<User> byIds = mapper.findByIds(ids);System.out.println(byIds);}
观看打印的日志
-collection 表示要做foreach循环的对象
- item 表示集合中每一个元素或者该集合的对象,支持对象点属性的方式获取属性。
- index 表示循环的下标,从0开始
- open 表示以什么开始
- separator 表示每次进行迭代之间以什么符号作为分隔符
- close表示以什么结束
Mybatis映射文件动态SQL语句-02相关推荐
- Mybatis映射文件动态SQL语句-01
因为在很多业务逻辑复杂的项目中,往往不是简单的sql语句就能查询出来自己想要的数据,所有mybatis引入了动态sql语句, UserMapper.xml <?xml version=" ...
- Mybatis配置及动态SQL语句标签
#Mybatis resources: ###db.properties: jdbc.driver = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://lo ...
- Mybatis 中update动态SQL语句
Mybatis中的CRUD操作(增删改查)中,简单的SQL操作比较直观,如查找操作: <select id="findBySrcId" resultMap="ent ...
- MyBatis之五:动态sql语句
在mybatis 3 或以上的版本提供了4类标签,分别是:if,choose(when,otherwise),rim(where,set),foreach.接下来将分别介绍这几种标签的具体用法,映射x ...
- Mybatis—动态SQL语句与逆向工程
Mybatis动态SQL语句与逆向工程 MyBatis动态SQL语句与逆向工程 1.动态SQL语句 1.1.动态SQL是什么 1.2.动态SQL有什么用 1.3.基于XML的实现 1.3.2.接口文件 ...
- Mybatis第三天动态Sql语句、XML中一对多、多对一、多对多该怎么写
Mybatis第三天 Mybatis中使用unpooled配置连接池原理分析 Mybatis中使用pooled配置连接的原理分析 Mybatis中的事务原理和自动提交设置 Mybatis中的动态sql ...
- 02JavaWeb之MyBatis详解、SqlSession执行、mapper代理执行、动态SQL语句、注解开发、resultMap、resultType、多参数传递
MyBatis MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发,它封装了JDBC大部分的操作. MyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由 ...
- 【MyBatis笔记】03-映射文件的sql语句中 #{} 和 ${} 的区别以及实现模糊查询
映射文件的sql语句中 #{} 和 ${} 区别以及实现模糊查询 sql 语句中的 #{} #{} 模糊查询错误用法 #{} 实现模糊查询 sql 语句中的 ${} ${} 实现模糊查询 #{} 与 ...
- 03-映射文件的sql语句中 #{} 和 ${} 的区别以及实现模糊查询
映射文件的sql语句中 #{} 和 ${} 区别以及实现模糊查询 目录 sql 语句中的 #{} #{} 模糊查询错误用法 #{} 实现模糊查询 sql 语句中的 ${} ${} 实现模糊查询 #{} ...
最新文章
- ubuntu 安装pytorch
- 全球及中国成人病袍行业专项调研评估及未来发展趋势预测报告2021-2027年版
- 全栈工程师之路(二)—— JavaScript(网页前端脚本语言)
- Linux fork() 和 vfork()
- toString() 和 强制类型转换 (String)
- 使用Jenkins搭建持续集成环境的方法(三)
- ng-深度学习-课程笔记-13: 目标检测(Week3)
- cocos2d-x之物理世界(创建物理世界)
- Windows7系统如果安装升级IE11浏览器
- DOS bat 的注释方法
- 广义线性混合模型GLMM
- 外贸常用术语_外贸常用术语总结.doc
- Android版本和SDK版本
- 迪士尼无限3.0连接服务器,迪士尼无限3period;0BUG问题解决 | 手游网游页游攻略大全...
- google的高级搜索语法说明
- 理解 Linux 网络栈:Linux 网络协议栈简单总结
- 【KV260】K26 SOM烧写脚本
- 南理工紫金单片机课程设计
- 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结
- 最新整理Q萌回合手游/青灯奇缘+GM授权后台
热门文章
- Angular学习(7)- 模板2
- Immutable 想破坏它也没办法
- mysql中xml类型_使用 SQLXML 数据类型
- 安卓虚拟linux系统教程,在Linux上模拟Android应用程序的3种方法 | MOS86
- oracle10g数据库热备份,Oracle10g数据库冷备份脚本文件
- mit 6.824 Distributed System
- python爬虫脚本ie=utf-8_python脚本-共享文件爬虫
- oracle中lead函数,oracle lead()函数 | 学步园
- 道格拉斯算法 java_道格拉斯-普克算法的java的实现代码如下
- jupyter跑Java,C++/C,R