框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二
来源:互联网 发布:工行软件开发中心 编辑:程序博客网 时间:2024/06/09 20:27
本节主要内容
1:动态sql使用(trim标签、sql片段的使用)
2:总结&下节预告
本文是《凯哥陪你学系列-框架学习之mybatis框架学习》中框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二
声明:本文系凯哥Java(www.kaigejava.com)原创,未经允许,禁止转载!
回顾:
在上一篇《框架学习系列 mybatis 第十四篇 mybatis动态sql及常用标签二》中我们知道什么是动态sql,也学会了常用的标签:where、if、set标签的使用。那么在本篇中,我们将继续学习剩下的标签
一:动态sql使用(trim标签、sql片段的使用)
1.1:trim标签
trim标签干嘛用?
trim标签是一个格式的标记(说的啥啊?不懂),
换句话来说:主要就是在自己包含的前面可以加些某些前缀,或者是在自己的后面加上某些后缀(依然一脸蒙比中~)
简单理解:trim标签有点类似于string类型中的replace的效果(或者可以理解为这货可以实现where和set同样的效果)
trim的属性有:
prefix:前缀覆盖并增加对应内容
suffix:后缀覆盖并追加其内容
prefixOverrides:前缀判断的条件
suffixOverrides:后缀判断的条件
1.2:使用案例
需求:同样查询条件有用户名、性别,查询对应的用户集合。
各位看官,咱先上大图
在Mapper-User.xml中:
说明:
<trim>:声明开始使用trim标签
</trim>:trim标签结束
prefix:前缀。也就是在之前添加追加什么
prefixOverides:前缀添加的判断条件。
concat:这个是mysql的连接函数,可以理解为加号在java中字符串连接的作用
上面sql语句其实就等同于上节课(《框架学习系列 mybatis 第十四篇 mybatis动态sql及常用标签一》)
中讲解的where if 标签的使用。
where if标签使用如下:
trim if 相当于where if 标签使用测试类:
执行的结果:
1.3:trim if相当于 set if 的使用(各位看官,自己可以练习练习)
1.4:sql片段的使用
1.4.1:sql片段是什么?使用sql片段有什么好处?
sql片段,就是预先定义后的一些sql语句。等其他sql需要的时候直接拿来用。
sql片段可以提高代码的可重用性
1.4.2:sql片段的使用
1.4.2.1:定义sql片段
在上面查询语句中我们可以将if 标签的sql语句提取出来。
在Mapper-User.xml中:
先定义sql片段
说明:
sql:声明sql片段开始
id:该sql片段唯一标识符。在当前的xml中是唯一的。
注:因为sql片段是公共的,所以最好不要将关键字带入。
比如:最好不要讲where、select等关键字声明在内
使用sql片段:
说明:
include:指明开始引用外部的
refid:注入需要引用的id.这个id必须是已经存在(已经声明的)
测试类:
运行结果:
同样是查询到两条数据。说明执行没问题。
二:总结
通过本文学习,我们必须掌握的
1:sql片段的使用。这个在以后公司开发中也常用
了解的:
1:trime if 标签可以替换 where if或者是set if 不过一般很少使用
下节预告:
在下节课中,我们将学习到另外很有用的标签:foreach标签。这个标签可以处理list循环。同时我们还会讲解mybaits和hibernate的区别。欢迎大家学习下一篇《框架学习系列 mybatis 第十五篇 mybatis 常用标签三及与hibernate的比较》
- 框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二
- 框架学习系列 mybatis 第十六篇 mybatis 常用标签三及与hibernate的比较
- 框架学习系列 mybatis 第十四篇 mybatis动态sql一
- mybatis系列(二)--mybatis的动态sql
- 【Mybatis学习】Mybatis框架中的动态sql
- 框架学习系列 mybatis 第十三篇 mybatis 全局配置文件 二
- mybatis学习二动态SQL:
- mybatis生成动态sql的常用标签
- mybatis中动态sql常用的标签
- mybatis中动态sql常用的标签
- mybatis中动态sql常用的标签
- mybatis中动态sql常用的标签
- mybatis常用动态标签
- Mybatis配置及动态SQL语句标签
- MyBatis动态SQL标签
- Mybatis框架之常用标签学习
- MyBatis学习之动态SQL标签
- mybatis实战之动态sql标签学习
- 转MySQL索引背后的数据结构及算法原理
- 浅析计算机科学在经济犯罪中的特征与表现
- 云服务的三种模式IaaS,PaaS和SaaS
- 文章标题
- input框限制只能输入正整数,逻辑与和或运算
- 框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二
- 继承——代码块的继承
- 360 RePlugin引入教程
- 排序算法---最快最简单的桶排序
- 50.实现幂函数
- Gensim-TFIDF,LDA,LSI实战
- Android InputMethodManager输入法简介
- No resource identifier
- container-with-most-water