- 第四章
- 动态sql
- sql的内容是变化的,可以根据条件获取到不同的sql语句,主要是where部分发生变化
- 实现
- 动态sql的实现,使用的是mybatis提供的标签,<if>,<where>,<foreach>
-
<if>是判断条件的,
- 语法格式
- <if test=“判断java对象的属性值”>
- 部分sql语句
- </if>
- <if test=“判断java对象的属性值”>
- 语法格式
-
<where>用来包含多个<if>的,当多个if有一个成立的,<where>会自动增加一个where关键字,并去掉
if中多余的and, or等 -
<foreach>循环java中的数组,list集合的,主要用在sql的in语句中
- eg:学生id是1,2,3的三个学生
- select * from student where id in (1,2,3)
- collection:表示接口中的放啊参数的类型,如果是数组使用array,如果是list集合使用list
- item:自定义的,表示数组和集合成员的变量
- open:循环开始时的字符
- close:循环结束时的字符
- separator:集合成员之间的分隔符
<select id="selectStudentForEachOne" resultType="com.bjpowernode.domian.Student"> select id,`name`,email,age from student where id in <foreach collection="list" item="myid" open="(" close=")" separator=","> #{myid} </foreach> </select>
- eg:学生id是1,2,3的三个学生
-
动态sql—代码片段
- 代码片段就是复用一些语法
- 步骤
- 1.先定义sql语句,表名,字段等
- 2.再使用,
- 步骤
- 代码片段就是复用一些语法
-
- 动态sql的实现,使用的是mybatis提供的标签,<if>,<where>,<foreach>
- 动态sql
MyBatis学习笔记-004
最新推荐文章于 2024-08-24 17:09:16 发布