1.查询指定字段 目前我们在查询数据的时候,什么都没有做默认就是查询表中所有字段的内容,我们所说的查询投影即不查询所有字段,只查询出指定内容的数据. 具体如何来实现? @SpringBootTest class Mybatisplus02DqlApplicationTests { ​    @Autowired    private UserDao userDao;        @Test    void testGetAll(){        LambdaQueryWrapper<User…
一.标准CRUD使用 对于标准的CRUD功能都有哪些以及MyBatisPlus都提供了哪些方法可以使用呢? 我们先来看张图: 1.1 环境准备 这里用的环境就是Java开发学习(四十)----MyBatisPlus入门案例与简介中使用的环境 二.新增 在进行新增之前,我们可以分析下新增的方法: int insert (T t) T:泛型,新增用来保存新增数据 int:返回值,新增成功后返回1,没有新增成功返回的是0 在测试类中进行新增操作: @SpringBootTest class Mybat…
一.入门案例 MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发.提供效率. SpringBoot它能快速构建Spring开发环境用以整合其他技术,使用起来是非常简单,对于MybatisPlus,我们也基于SpringBoot来构建学习. 我们先来回顾下,SpringBoot整合Mybatis的开发过程: 创建SpringBoot工程 勾选配置使用的技术,能够实现自动添加起步依赖包 设置dataSource相关属性(JDBC参数) 定义数据层接口映射配…
在前面有一篇博客:Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发,我们在新增的时候留了一个问题,就是新增成功后,主键ID是一个很长串的内容. 我们更想要的是按照数据库表字段进行自增长,在解决这个问题之前,我们先来分析下ID该如何选择: 不同的表应用不同的id生成策略 日志:自增(1,2,3,4,--) 购物订单:特殊规则(FQ23948AK3843) 外卖单:关联地区日期等信息(10 04 20200314 34 91) 关系表:可省略id -- 不同的业…
一.条件查询的类 MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合. 这个我们在前面都有见过,比如查询所有和分页查询的时候,都有看到过一个Wrapper类,这个类就是用来构建查询条件的,如下图所示: 那么条件查询如何使用Wrapper来构建呢? 二.环境构建 在构建条件查询之前,我们先来准备下环境 创建一个SpringBoot项目     参考Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析 pom.xml中添加对应的依赖…
一.REST简介 REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格 当我们想表示一个网络资源的时候,可以使用两种方式: 传统风格资源描述形式 http://localhost/user/getById?id=1 查询id为1的用户信息 http://localhost/user/saveUser 保存用户信息 REST风格描述形式 http://localhost/user/1 http://localhost/user 传统方式…
一.多环境配置 在工作中,对于开发环境.测试环境.生产环境的配置肯定都不相同,比如我们开发阶段会在自己的电脑上安装 mysql ,连接自己电脑上的 mysql 即可,但是项目开发完毕后要上线就需要该配置,将环境的配置改为线上环境的. 来回的修改配置会很麻烦,而 SpringBoot 给开发者提供了多环境的快捷配置,需要切换环境时只需要改一个配置即可.不同类型的配置文件多环境开发的配置都不相同,接下来对不同类型的配置文件进行说明 1.1 yaml文件 在 application.yml 中使用 -…
1.逻辑删除 接下来要讲解是删除中比较重要的一个操作,逻辑删除,先来分析下问题: 这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表 员工ID为1的张业绩,总共签了三个合同,如果此时他离职了,我们需要将员工表中的数据进行删除,会执行delete操作 如果表在设计的时候有主外键关系,那么同时也得将合同表中的前三条数据也删除掉 后期要统计所签合同的总金额,就会发现对不上,原因是已经将员工1签的合同信息删除掉了 如果只删除员工不删除合同表数据,那么合同的员工编…
1.代码生成器原理分析 造句: 我们可以往空白内容进行填词造句,比如: 在比如: 观察我们之前写的代码,会发现其中也会有很多重复内容,比如: 那我们就想,如果我想做一个Book模块的开发,是不是只需要将红色部分的内容全部更换成Book即可,如: 所以我们会发现,做任何模块的开发,对于这段代码,基本上都是对红色部分的调整,所以我们把去掉红色内容的东西称之为模板,红色部分称之为参数,以后只需要传入不同的参数,就可以根据模板创建出不同模块的dao代码. 除了Dao可以抽取模块,其实我们常见的类都可以进…
1.查询条件 前面我们只使用了lt()和gt(),除了这两个方法外,MybatisPlus还封装了很多条件对应的方法. MybatisPlus的查询条件有很多: 范围匹配(> . = .between) 模糊匹配(like) 空判定(null) 包含性匹配(in) 分组(group) 排序(order) -- 1.1 等值查询 需求:根据用户名和密码查询用户信息 @SpringBootTest class Mybatisplus02DqlApplicationTests { ​    @Auto…