慕课的mybatisplus全集

视频教程:https://www.imooc.com/learn/1130

资料:

慕课的mybatisplus全集_第1张图片

代码:

慕课的mybatisplus全集_第2张图片

快速入门小例子:

慕课的mybatisplus全集_第3张图片

如何配置:

第一步:配置下数据库

慕课的mybatisplus全集_第4张图片

第二步:配置下dao

慕课的mybatisplus全集_第5张图片

第三步:设置mapper接口

慕课的mybatisplus全集_第6张图片

---1-5---

慕课的mybatisplus全集_第7张图片

insert是对象。

慕课的mybatisplus全集_第8张图片

---2-1---

第一个注解,数据库和我们的数据库的表的名字不一样的时候:

慕课的mybatisplus全集_第9张图片

第二个注解:默认是识别的id,即使主键是驼峰也不会识别,只能加注解。

慕课的mybatisplus全集_第10张图片

第三个注解,字段和数据库的列不一样:

慕课的mybatisplus全集_第11张图片

---2-2---

数据库没有相应的字段,如备注信息等:

慕课的mybatisplus全集_第12张图片

第一种解决办法:

慕课的mybatisplus全集_第13张图片

第二种解决办法:

慕课的mybatisplus全集_第14张图片

第三种解决办法:

慕课的mybatisplus全集_第15张图片

关于驼峰:

慕课的mybatisplus全集_第16张图片

---2-3---

第一个方法:

第二个方法:

慕课的mybatisplus全集_第17张图片

第三个方法:

慕课的mybatisplus全集_第18张图片

---3-1---

条件构造器查询:

慕课的mybatisplus全集_第19张图片

我们看下BaseMapper

慕课的mybatisplus全集_第20张图片

看到这里会帮你传入一些Wrapper。

关于一个一对多的查询:https://www.cnblogs.com/yshyee/p/12713679.html

慕课的mybatisplus全集_第21张图片

第一个查询:

慕课的mybatisplus全集_第22张图片

两种获得Wrapper的方法。

慕课的mybatisplus全集_第23张图片

慕课的mybatisplus全集_第24张图片

注意这个name是列名不是实体类的属性的。

第二个查询:

慕课的mybatisplus全集_第25张图片

慕课的mybatisplus全集_第26张图片

第三个查询:

慕课的mybatisplus全集_第27张图片

---3-2---

慕课的mybatisplus全集_第28张图片

慕课的mybatisplus全集_第29张图片

为什么是apply是是没有具体的需求就是apply的。

慕课的mybatisplus全集_第30张图片

关于data_format

慕课的mybatisplus全集_第31张图片

关于条件构造器:

慕课的mybatisplus全集_第32张图片

---3-3---

第一个需求:

慕课的mybatisplus全集_第33张图片

慕课的mybatisplus全集_第34张图片

wq的类型完全是事先就定义好的。

看下函数式编程需要什么:

慕课的mybatisplus全集_第35张图片

函数式编程:

慕课的mybatisplus全集_第36张图片

第二个需求:

慕课的mybatisplus全集_第37张图片

慕课的mybatisplus全集_第38张图片

sql的or优先级是小于and的优先级的。

---3-4---

第一个查询:

慕课的mybatisplus全集_第39张图片

慕课的mybatisplus全集_第40张图片

第二个查询:

慕课的mybatisplus全集_第41张图片

慕课的mybatisplus全集_第42张图片

---

第三个查询:

慕课的mybatisplus全集_第43张图片

慕课的mybatisplus全集_第44张图片

---3-5---

第一个查询,我只要id和name:

慕课的mybatisplus全集_第45张图片

慕课的mybatisplus全集_第46张图片

第二个查询,去掉不要的剩下的是要的:

慕课的mybatisplus全集_第47张图片

写在前面和后面都是可以的:

慕课的mybatisplus全集_第48张图片

---3-6---

原来的方法:

慕课的mybatisplus全集_第49张图片

下面是我们新增的方法:

慕课的mybatisplus全集_第50张图片

慕课的mybatisplus全集_第51张图片

---3-7---

创建条件构造器的时候使用实体的对象。

慕课的mybatisplus全集_第52张图片

实体不为null为条件。

慕课的mybatisplus全集_第53张图片

慕课的mybatisplus全集_第54张图片

目前这个只是支持的是等值的查询,如何在查询的时候可以支持不是等值的查询呢?

慕课的mybatisplus全集_第55张图片

小于:

慕课的mybatisplus全集_第56张图片

---3-8---

AllEq的用法:

慕课的mybatisplus全集_第57张图片

案例:

慕课的mybatisplus全集_第58张图片

---

我们再来看一个特性:

慕课的mybatisplus全集_第59张图片

慕课的mybatisplus全集_第60张图片

这个意思是不等于name的才放在条件中的。

---3-9---

第一个查询:

其他的类型封装:

慕课的mybatisplus全集_第61张图片

慕课的mybatisplus全集_第62张图片

这个查询的使用场景就是你要查的只是返回部分的字段其他的都是null的时候要这么用的。

慕课的mybatisplus全集_第63张图片

还有一个场景:

慕课的mybatisplus全集_第64张图片

慕课的mybatisplus全集_第65张图片

---

第二个查询:

慕课的mybatisplus全集_第66张图片

慕课的mybatisplus全集_第67张图片

---

第三个查询:返回总的记录数的值

慕课的mybatisplus全集_第68张图片

---

第四个查询:

慕课的mybatisplus全集_第69张图片

看一下执行的效果:返回的多于一条报错

---3-10---

lmbda的条件构造器:

第一个查询:

三种构建lambda构造器的方式。

慕课的mybatisplus全集_第70张图片

慕课的mybatisplus全集_第71张图片

第二个查询,再来一个复杂一点的:

慕课的mybatisplus全集_第72张图片

好处就是避免写错列名。

第三个查询,新的写法:

慕课的mybatisplus全集_第73张图片

---3-11---

我们自定义自己的sql:

为什么是ew:

慕课的mybatisplus全集_第74张图片

慕课的mybatisplus全集_第75张图片

代码:

慕课的mybatisplus全集_第76张图片

测试下:

 

慕课的mybatisplus全集_第77张图片

另一种方式写在xml文件中:

第一步写yml文件:

慕课的mybatisplus全集_第78张图片

第二步:

慕课的mybatisplus全集_第79张图片

这个注意下不用加where的。

自定义sql:https://blog.csdn.net/kanglong129/article/details/98611508

---4-1---

分页查询(物理分页):

第一步:配置类

慕课的mybatisplus全集_第80张图片慕课的mybatisplus全集_第81张图片

第二步:

慕课的mybatisplus全集_第82张图片

传入的是当前的页数和每页返回的条数。

慕课的mybatisplus全集_第83张图片

 

---

瀑布流的分页:

慕课的mybatisplus全集_第84张图片

修改:

---

多表连查的分页:

第一步:

慕课的mybatisplus全集_第85张图片

第二步:写xml

慕课的mybatisplus全集_第86张图片

第三步:测试

慕课的mybatisplus全集_第87张图片

---4-2---

第一个查询:

更新功能:

我们先看下BaseMapper,根据id更新,其它的出现在set中。

慕课的mybatisplus全集_第88张图片

慕课的mybatisplus全集_第89张图片

第二个查询,需要两个参数,一个是实体,一个是查询条件出现在where中:

慕课的mybatisplus全集_第90张图片

查询:

慕课的mybatisplus全集_第91张图片

查询:

第三个查询:注意一点

慕课的mybatisplus全集_第92张图片

会重复的:

第四个查询,简洁的写法:

慕课的mybatisplus全集_第93张图片

第五个查询:

慕课的mybatisplus全集_第94张图片

第六个查询:

慕课的mybatisplus全集_第95张图片

---5-1---

删除:

第一个查询:

第一步:

慕课的mybatisplus全集_第96张图片

第二步:

慕课的mybatisplus全集_第97张图片

慕课的mybatisplus全集_第98张图片

第二个查询:

慕课的mybatisplus全集_第99张图片

慕课的mybatisplus全集_第100张图片

第三个查询:这个也可以传一个实体会在where中

慕课的mybatisplus全集_第101张图片

---5-2---

ew思想:https://www.imooc.com/qadetail/331185

如何实现AR模式:

第一步:实体对象继承Model类

慕课的mybatisplus全集_第102张图片

第二步:

慕课的mybatisplus全集_第103张图片

查询:查出来是新的对象不是原对象。

慕课的mybatisplus全集_第104张图片

查询:

慕课的mybatisplus全集_第105张图片

更新:

慕课的mybatisplus全集_第106张图片

删除:

慕课的mybatisplus全集_第107张图片

---

一个很重要的方法:

慕课的mybatisplus全集_第108张图片

注意:

慕课的mybatisplus全集_第109张图片

---6-1---

主键策略:

局部主键策略:

第一步:

慕课的mybatisplus全集_第110张图片

第二步:

第三步执行:

慕课的mybatisplus全集_第111张图片

取回主键

慕课的mybatisplus全集_第112张图片

---

把数据库的主键策略改为非自增的:

慕课的mybatisplus全集_第113张图片

慕课的mybatisplus全集_第114张图片

---

UUID:

慕课的mybatisplus全集_第115张图片

慕课的mybatisplus全集_第116张图片

---

雪花算法:

慕课的mybatisplus全集_第117张图片

---

注意:

慕课的mybatisplus全集_第118张图片

---

全局的策略:

慕课的mybatisplus全集_第119张图片

注释掉:

---6-2---

配置1:

慕课的mybatisplus全集_第120张图片

配置2:

慕课的mybatisplus全集_第121张图片

配置3:

慕课的mybatisplus全集_第122张图片

配置4:

注意configuration和configLocation不能同时出现的。

配置5:

慕课的mybatisplus全集_第123张图片

这个是null不会插入的。

局部策略:

慕课的mybatisplus全集_第124张图片

这个是null和空串不会插入的(在insert和update中)。

配置6:

慕课的mybatisplus全集_第125张图片

---6-3---

通用service:

慕课的mybatisplus全集_第126张图片

区别:

慕课的mybatisplus全集_第127张图片

第一个查询,这个是报错的因为返回是多行:

慕课的mybatisplus全集_第128张图片

只找第一个:

第二个查询,批量插入:

慕课的mybatisplus全集_第129张图片

慕课的mybatisplus全集_第130张图片

---

第三个查询:

慕课的mybatisplus全集_第131张图片

第四个查询:

慕课的mybatisplus全集_第132张图片

慕课的mybatisplus全集_第133张图片

---7-1---

你可能感兴趣的:(mybatisplus)