MyBatis—动态SQL

什么是动态SQL?

1.基于OGNL表达式

2.完成多条件查询的逻辑

3.动态SQL的主要元素

(if,trim,where,set,choose,foreach)

 

where标签

可以根据if中是否有返回值智能的处理and和or

 

 

trim标签

属性:prefix:前识别where

suffix:

prefixOverrides:前识别and/or

suffixOverrides:

 

 

foreach标签

1:基本属性

1:item:表示集合中每一个元素进行迭代时的别名

2:index:指定一个名称,在迭代过程中,每次迭

代到的位置

3:open:表示该语句以什么开始

4:separator:每次迭代之间的分隔符

5:close:表示该SQL语句以什么结尾

6:collection:属性值有三种情况:

a:若入参为单参,是一个List时,collection值为list

b:若入参为单参,是一个数组时,collection值为array

c:多参数入参,封装为一个Map。collection值为Map的key值 单参和多参其实都是封装成Map集合的形式入参的

 

a :单参数入参为数组类型的foreach迭代

 

 

b:单参数入参为List集合类型的foreach迭代

具体同参数为数组,只是将collection的属性改为list

 

c: 单参数入参为Map集合类型的foreach迭代

 

choose标签

 

分页功能

原文地址:https://www.cnblogs.com/domi22/p/8047889.html