这3个例子,让你学会Mybatis常见标签

环境

mysql 、 springboot 、 mybatis 、java1.8 、 idea

1.消灭where 1=1

  • 在ibatis里有大量where 1=1的代码
9bce970d4cc56fbb2885befb96f0fe5c.jpeg
  • Mybatis可以用下面标签,消灭1=1恶心代码,最下面有完整例子

<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>

prefix:在trim标签内sql语句加上前缀。

suffix:在trim标签内sql语句加上后缀。

suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。

prefixOverrides:指定去除多余的前缀内容

2. 防止被转义

Ibatis里的一样的

<![CDATA[ ]]>

如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决

3. foreach批量插入,in(多值)

  • Ibatis里是 <iterate conjunction=",">
9cbf773b43b0cee7783392f27ffb25d6.jpeg
  • Mybatis见下面例子 <foreach collection="extInfos" item="extInfo" open="(" close=")" separator=",">

foreach元素的属性主要有 item,index,collection,open,separator,close。

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

index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,

open表示该语句以什么开始,

separator表示在每次进行迭代之间以什么符号作为分隔 符,

close表示以什么结束。

4.非空

  • Mybatis <if test="value !=null" >
  • ibatis 是这样的
7962217c20959b0c37f1c6883b595cb5.jpeg

将插入数据的主键返回到 对象中

bd1938c165f044e4c63e8d6c194f4404.jpeg 7713209a9a4b730a2e7a0592bfe6738d.jpeg

运行效果

685d60c9fd3f6a66606240a2f832edb1.jpeg 3bbb1876ea7a41f6a1f6f5616306ea75.jpeg

自定义入参例子

f1dceab0cf49aac01e79e9c988fabeca.jpeg 73f83a897eefb5916ae31b3b1cfa228c.jpeg 2226ecc7a7ec2655a28d2d7e1bf7cc82.jpeg 3488b5977bf233f61c8adf2fcbc78e91.jpeg

Mybatis里的例子分析

一个分页查询、一个批量新增

注意分页查询入参是map类型,map比较灵活只要key 与xml里匹配正确就行。

f88d267ca5706177adbea4d343186282.jpeg 0b3d6237d83d68fd7bb006935f269745.jpeg

分页条件查询例子

分页条件查询应该是SQL比较复杂情况,本例子包含 like 、 = 、in,基本的情况覆盖 一般 in 用在状态字段

e13f339b13f68778dfd171d9cd670d10.jpeg 3ef798a218d540b669a6193ed0771da5.jpeg

批量插入例子

注意 collection=”configs” 跟代码要匹配

b8aae2fe679f55bcb3114562b62c4904.jpeg

这里的命名一样要注意

80d2e5d093b7b9e708cb21130db0aae2.jpeg cbd4434d75b24a42e81778fd0659da12.jpeg

Mybatis的加字段【请注意】

13ceb468919af8e0cff5a3ec62dbfffc.jpeg

建议所有SQL都增加此新增字段

84601093daaa0d3f890218f939528923.jpeg

新增字段,加resultMap、Base_Column_List

f513575fd1da2437159456b6d5a4fa9c.jpeg

运行效果

74ca4c4058dbc04039fdde700d5fea08.jpeg 3d04eba54246fd4097d29346882743c7.jpeg

分页演示了,name like 模糊查询 ;value=查询;

147162f6b06697d6807bbe4e68512f35.jpeg

想学demo例子具体怎么玩的 传送门 SSM框架DEMO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值