Mybatis(二)

动态sql
查询的时候如果某些条件没带可能sql拼装会有问题,解决:
  • 1.where 1=1
  • 2.mybatis使用where标签将所有的查询条件包括在内,mybatis会将where标签中拼装的sql 多出来的 and 或 or 去掉
    where只会去掉第一个多出来的and和or,后面多出来的and和or不能解决
//动态sql标签
<if test=""></if>
//prefix:前缀,trim标签体中是整个字符串拼串后的结果
//prefixOverrides:前缀覆盖,去掉整个字符串前面多余的字符
//suffix:后缀,给拼串后的整个字符串加一个后缀
//suffixOverrides:后缀覆盖,去掉整个字符串后面多余的字符
<trim prefix="where" prefixOverrides="" 
		suffix="" suffixOverrides="">
</trim>
<choose>
	<when test=""></when>
	<otherwise></otherwise>
</choose>
<foreach></foreach>//可用来批量保存

mybatis默认还有两个内置参数
-parameter:代表整个参数

  • 单个参数:_parameter就是这个参数
  • 多个参数:参数会被封装为一个map,_parameter就是代表这个map

_databaseId:如果配置了databaseIdProvider标签,databaseId就是代表当前数据库的别名

增删改同级标签sql,可抽取可重用的sql片段,方面后面引用
  • sql抽取,将要查询的列名或者插入用的列名抽取出来方便引用
  • include来引用抽取的sql
  • include还可以自定义一些property,sql标签内部就能使用自定义的属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值