一、引言
Mybatis-Plus是一个MyBatis的加强工具,在MyBatis的根底上只做加强不做扭转,为简化开发、提高效率
而生。它曾经被大规模地利用在理论我的项目中,极大地提高了开发效率。
Mybatis-Plus次要有以下特点:
- 无侵入(不会对现有工程造成影响)
- 弱小的CURD操作(内置通用Mapper、通用Service来实现单表的大部分CURD操作)
- 内置多种插件(分页插件、性能剖析插件、全局拦挡插件)
二、疾速整合
这里我应用的Spring Boot版本:2.5.14
2.1 引入依赖
在pom文件中引入mybatis-plus-boot-starter依赖,这里应用版本3.5.1
,如下
<!-- springboot集成mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.29</version> </dependency>
2.2 配置Mybatis-Plus及数据源
上面是mybatis-plus的局部配置项,具体配置可参考官网https://baomidou.com/pages/56...
server: port: 8081spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 123456 url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8mybatis-plus: # 如果是放在src/main/java目录下 classpath:/com/yourpackage/*/mapper/*Mapper.xml # 如果是放在resource目录 classpath:/mapper/*Mapper.xml mapper-locations: classpath:/mapper/**/*.xml #实体扫描,多个package用逗号或者分号分隔 typeAliasesPackage: com.kamier.springboot.mybatisplus.domain.* configuration: #开启 Mybatis 二级缓存,默认为 true cache-enabled: false #配置JdbcTypeForNull, oracle数据库必须配置 jdbc-type-for-null: 'null' global-config: db-config: # AUTO:数据库自增 INPUT:自行设置 ASSIGN_ID:雪花算法id ASSIGN_UUID:UUID id-type: AUTO # 逻辑删除配置(上面3个配置) logic-delete-field: del_flag logic-delete-value: 1 logic-not-delete-value: 0
2.3 创立数据库实体类、Service接口及其实现类、Mapper接口、xml文件
这里官网举荐应用MybatisX插件来主动生成这些文件,在idea中搜寻MybatisX插件装置即可(留神:如果我的项目不须要自定义编写简单的sql语句,能够不须要生成Mapper接口和xml文件
)
装置之后,右侧栏Database连贯数据库后,可选中多张表,右键点击MybatisX-Generator,配置选项可参考下图
点击Finish即可生成文件,下图红框中的就是主动生成的文件
能够来看下生成的类是什么样的
- User.java(
@TableName指定表名,@TableId指定主键,@TableField指定字段名
) - UserMapper.java(
继承BaseMapper<实体类>
) - UserService.java(
继承IService<实体类>
) - UserServiceImpl.java(
继承ServiceImpl<Mapper接口,实体类>
) - UserMapper.xml(
namespace为Mapper接口全限定名
)
2.4 扫描Mapper
在启动类上应用@MapperScan来扫描Mapper,如下图
2.5 测试验证
编写一个简略的Controller,如下
@RestController@RequestMapping("/user")public class UserController { @Autowired private UserService userService; @GetMapping("list") public R list() { return R.ok(userService.list()); }}
浏览器输出http://localhost:8081/user/list,获取用户列表
三、结语
Spring Boot疾速整合Mybatis-Plus到这里就完结了,Mybatis-Plus还有许多有用的性能,包含多数据源、内置插件、条件结构器等等,这里不一一介绍了,有趣味的同学能够自行去官网查阅。