MyBatisMybatis动态sql

MyBatis 的一个强硬的特点之一平时是它的动态
SQL 能力。 假使您有利用 JDBC 或任何 相似框架的阅历,你就知晓条件地串联 SQL 字符串在一块儿是何等的惨痛,确保不可能忘了空 格或在列表的末梢简短逗号。动态
SQL 可以彻底处理那种痛苦。

<if test=””>条件判断

题材一、咋样防范where、and拼写错误

方法一、在where后添加1=1

方法二、使用<where>标签 and都写在每部分的前头

MyBatis,方法三、使用<trim>标签

prefix 为所有标签体拼接后的前缀

PrifixOverriders前缀覆盖,去掉字符串前边多余的字符

Suffix  为任何标签体拼接后的后缀

suffixOverriders后缀覆盖,去掉字符串前面多余的字符

 

<choose>分支选取

<set>更新

问题二、当使用更新语句时,可能出现不成立”,”,使用<set>包围后就可以自行删除逗号

<foreach>

collection:指定要遍历的聚合

Item:遍历出的靶子赋值给指定变量

Separator:每个元素之间的相间符

Open:遍历出具有结果拼接一个上马字符

Close:遍历出富有结果拼接一个了事字符

Index:遍历list时为眼前目录,遍历map时为眼前key

#{变量名}访问当前遍历的遍历

 

批量插入

 MyBatis 1

也足以行使分号结尾的批量操作,这种形式还是可以够批量改动,批量删减

 MyBatis 2

Oracle不帮忙这种办法

Oracle补助的措施

 MyBatis 3

MyBatis 4

Mybatis内置参数

_parameter:代表全部参数

单个参数:代表这些参数

两个参数:参数被装进为map,_parameter代表这多少个map

_databaseId:假设安排了databaseIdProvider标签

_databaseId代表当前数据库的别名

 MyBatis 5

<bind>**标签**:将OGNL的重回值绑定到变量中,方便后来引用那一个变量

譬如说模糊查询时,自动加%%

 MyBatis 6

<sql>抽取可拔取的sql语句

1、平常要用的列名,或者插入的列名抽取出来

2、Include来引用已经抽取的sql

3、Include还足以自定义一些property,<sql>标签内部可以通过${}取值(不可能用#{})

 MyBatis 7

MyBatis 8

 

网站地图xml地图