Hello,大家好,我是一个在互联网收废铁的程序员,已经很久没有更新过文章了,今天呢,就来学习一下新的知识点吧。今天呢?我们来讲讲什么好呢?
好吧,今天我们就简单的来学习一下MyBatisPlus吧
废话我们就不用多说了吧,我们直接进入我们的正题
别慌,我们还是要来看看MyBatisPlus是什么啊
简介
MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在 MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。
特性
- 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
- 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
- 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
- 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
- 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
- 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
- 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
- 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
- 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
- 分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
- 内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
- 内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作
我的天,这不就是官网的吗?这偷工减料的
不说了,不说了,接下来才是我们的正题
创建项目
这个就不用多说了吧,现在开发JAVA基本上都是IDEA,直接使用快捷创建(Spring Initializr)快速创建这个SpringBoot项目
编写POM文件
<dependency> |
编写application.yml文件
#端口 |
这里面的基本配置都应该知道的吧
#mybatis-plus配置 |
这个和还是和我们以前的MyBatis配置一样
创建数据库test,创建表user
CREATE TABLE `user` ( |
到这里我们的前期工作就做完了,基本的配置信息都大概了解了吧
没看懂没关系,我们再看一遍,一遍还没懂,也没关系,我们再看一遍
一遍又一遍,你就嗝屁在这里吧。我要继续往下讲咯
配置类
我们新建一个配置类
package com.codeworld.fc.config; |
主要功能在这个注释里面了,我就不用一一解释了吧
用户类User
新建一个User类
package com.codeworld.fc.entity; |
注解
@Data
这个不用多说了吧,这是我们经常看见的,主要使用的是一个Lombok插件,这个注解的作用呢,为我们大大简化来的开发效率,我们可以不用再写Getter和Setter方法
@TableName
我们直接从字面意思就可以读出来吧,表名
@TableId
表的Id,也就是主键Id
创建Mapper
新建一个Mapper来操作我们的数据库,和我们的MyBatis一样的,只不过我们这次需要在启动类上面加上一个主键来扫描我们的mapper类
package com.codeworld.fc; |
package com.codeworld.fc.mapper; |
这样就简单的继承我们MyBatis-plus中的BaseMapper,泛型呢就是我们和数据库中配置的基本类了
创建UserService
package com.codeworld.fc.service; |
这个也差不多,也是继承我们MyBatis-plus中的IService,泛型也是我们的基本类
创建UserServiceImpl
package com.codeworld.fc.service.impl; |
继承了我们MyBatis-plus中的ServiceImpl类,实现我们自定义的UserService
可能会有点懵,我们只管继承什么什么,根本没有实现什么什么
那就请继续往下看
创建UserController
package com.codeworld.fc.controller; |
这种常规操作应该懂吧
总的呢从mapper到controller我们就创建完了
接下来就是我们测试的时候呢
创建一个查询接口
改造我们的UserController,在UserController中添加一个方法
|
相继呢我们在UserService中也会新增一个方法
public interface UserService extends IService<User> { |
package com.codeworld.fc.service.impl; |
this.userMapper.selectById(id)
直接调用我们MyBatis-plus封装好的方法,就不用我们再去写Mapper文件了,不过呢,既然说是不做任何修改,那么还是可以通过mapper文件来实现的
测试
我们使用Postman来测试
这样我们的就实现成功了
是不是感觉很简单呢
其中帮我们定义好的方法呢有很多
int insert(T entity); |
结束
今天呢我们的MyBatis-plus就只讲了入门的效果,就实现来一个查询功能,没有做到全面CRUD
这就需要我们自己下来自己完成其他的功能,能转换成自己的才是真的学到了知识点。
CRUD代码去:SpringBoot-demo
好了,今天的分享就到这里了,,,完了,老板来了。。。我先溜了
OK,在这里我们的分享就到这里了,不知道你有没有帮助到你呢?
看到这里的人都是技术人才,你的浏览就是我前进的动力
欢迎加入QQ群: