这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战
前言
对于Java系中,最著名的ORM框架也就是Mybatis
,JPA
,Hibernate
了,在面对领导开发快速迭代的场景想,大部分的项目都是基于SSM的,这个M也就是Mybatis.
Mybatis
简单灵活从另一个角度就是需要自己写所有的代码(简单的可以使用代码生成器),MybatisPlus
就是Mybatis
的增强工具,在MyBatis
的基础上只做增强不做改变,为简化开发、提高效率而生。
Mybatis-Plus
官网在这里
集成
这里的连接池是用的默认的HikariCP连接池,想用Druid
或者只用Mybatis
可以看另一篇文章
1 | xml复制代码<!--mysql连接驱动--> |
application.yml配置
数据库和连接池配置
1 | yaml复制代码spring: |
MyBatis配置
mybatisPlus 配置 (官方文档:mybatis中的配置 在mybatisplus上均可配置)
1 | yaml复制代码mybatis-plus: |
必要的注解配置
在Application
启动类上添加相关的注解
1 | less复制代码@ComponentScan({"zdc.enterprise.*"}) |
@EnableTransactionManagement
是开启事务管理
@MapperScan
是配置dao层接口文件的扫描路径,也就是和xml对应的XXMapper或者XXDao的路径
使用
项目目录结构
(1) 在数据库中创建一个student
表
1 | less复制代码CREATE TABLE `student` ( |
(2) 在entity
包下创建Student.java
类
1 | ruby复制代码@Data |
(3) controller
层
studentService
自带的方法演示
1 | less复制代码@RestController |
(4) service
层,需要继承IService
或实现ServiceImpl
通用接口
service接口StudentService.java
1 | csharp复制代码public interface StudentService extends IService<Student> { |
service实现类StudentService.java
1 | scala复制代码@Service |
(4) 在Mapper
层需要继承BaseMapper
接口
1 | csharp复制代码public interface StudentMapper extends BaseMapper<Student> { |
(5)在resources
的mappers
文件下创建StudentMapper.xml
文件,和原生一样
1 | xml复制代码<?xml version="1.0" encoding="UTF-8"?> |
备注
根据项目需要权衡是否移动要使用原生的MyBatis
在使用MyBatis或者使用MyBatis-Plus的时候一定要配合代码生成器使用,网上很多开源的代码生成器,也可以自己写代码模版,提高效率
如果使用IDEA的话 推荐使用free mybatis plugin
或者MybatisX
插件, 能将接口类和mapper文件自动关联,并可以直接跳转
更详细的使用方式看下一篇文章
1 | arduino复制代码 作者:ZOUZDC |
本文转载自: 掘金