环境
mysql 、 springboot 、 mybatis 、java1.8 、 idea
1.消灭where 1=1
- 在ibatis里有大量where 1=1的代码
- 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=”,”>
- 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 是这样的
将插入数据的主键返回到 对象中
运行效果
自定义入参例子
Mybatis里的例子分析
一个分页查询、一个批量新增
注意分页查询入参是map类型,map比较灵活只要key 与xml里匹配正确就行。
分页条件查询例子
分页条件查询应该是SQL比较复杂情况,本例子包含 like 、 = 、in,基本的情况覆盖 一般 in 用在状态字段
批量插入例子
注意 collection=”configs” 跟代码要匹配
这里的命名一样要注意
Mybatis的加字段【请注意】
建议所有SQL都增加此新增字段
新增字段,加resultMap、Base_Column_List
运行效果
分页演示了,name like 模糊查询 ;value=查询;
想学demo例子具体怎么玩的 传送门 SSM框架DEMO
又get到知识的,点赞、关注、转发
java软件开发、程序员、编程
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/15589.html