文章目录
-
- 1.整合MyBatis
-
-
- 1.需求分析
* 2.数据库表设计
* 3.数据库环境配置
* * 1.新建maven项目
* 2.pom.xml 引入依赖
* 3.application.yml 配置数据源
* 4.Application.java 编写启动类
* 5.测试
* 6.配置类切换druid数据源
* 7.测试数据源是否成功切换
* 4.Mybatis基础配置
* * 1.编写映射表的bean
* 2.MonsterMapper.java 编写mapper接口
* 3.MonsterMapper.xml 编写mapper.xml实现mapper接口
* 4.application.yml 扫描mapper.xml配置文件的位置
* 5.测试
* 5.MyBatis高级配置
* * 1.方式一:在application.yml中配置mybatis.config-location指定mybatis-config.xml配置文件的位置
* 2.方式二:直接在application.yml中配置
* 6.继续编写Service层和Controller层
* * 1.MonsterService.java
* 2.MonsterServiceImpl.java
* 3.测试
* 4.MonsterController.java
* 5.测试
* 6.解决时间问题
* 7.完整文件目录
- 1.需求分析
-
- 2.整合MyBatis-Plus
-
-
- 1.MyBatis-Plus基本介绍
* 2.数据库表设计
* 3.数据库环境配置
* * 1.创建maven项目
* 2.pom.xml 导入依赖
* 3.application.yml 配置数据源
* 4.DruidDataSourceConfig.java 配置类切换druid数据源
* 5.编写启动类Application.java,测试运行
* 4.MyBatis-Plus基础配置
* * 1.编写映射表的bean
* 2.MonsterMapper.java 编写Mapper接口
* 3.测试接口方法使用
* 5.MyBatis-Plus高级配置
* * application.yml 进行配置
* 6.继续编写Service层和Controller层
* * 1.MonsterService.java
* 2.MonsterServiceImpl.java
* 3.测试
* 4.细节说明
* 5.MonsterController.java
* 7.细节说明
* * 1.@MapperScan 扫描包下的所有Mapper
* * 启动类配置注解
* 2.@TableName bean的类名与表名不一致时使用
* image-20240317200951971
* 3.MyBatis引入了哪些依赖
* 8.MyBatisX快速开发
* * 1.安装插件
* 2.使用方式
* * 1.挑一个带小鸟的方法
* 2.直接alt + Enter
* 3.生成sql语句
* 4.查看生成的方法
* 5.点击左边的小鸟就可以直接跳转到指定方法或者xml
* 9.完整文件目录
* 10.MyBatis-Plus小结
- 1.MyBatis-Plus基本介绍
-
1.整合MyBatis
1.需求分析

2.数据库表设计
1CREATE DATABASE `springboot_mybatis`; 2 3use `springboot_mybatis`; 4 5CREATE TABLE `monster` ( 6 `id` INT NOT NULL AUTO_INCREMENT, 7 `age` INT NOT NULL, 8 `birthday` DATE DEFAULT NULL, 9 `email` VARCHAR(255) DEFAULT NULL, 10 `gender` char(1) DEFAULT NULL, 11 `name` VARCHAR(255) DEFAULT NULL, 12 `salary` DOUBLE NOT NULL, 13 PRIMARY KEY (`id`) 14); 15 16SELECT * FROM `monster`; 17 18insert into monster values(null, 20, '2000-11-11', 'nmw@sohu.com', '男', '牛魔王', 5000.88); 19insert into monster values(null, 10, '2011-11-11', 'bgj@sohu.com', '女', '白骨精', 2000.00); 20
3.数据库环境配置
1.新建maven项目

2.pom.xml 引入依赖
1 <!--导入springboot父工程--> 2 <parent> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <groupId>org.springframework.boot</groupId> 5 <version>2.5.3</version> 6 </parent> 7 8 <!--引入相关依赖--> 9 <dependencies> 10 <!--常规依赖--> 11 <!--web场景启动器--> 12 <dependency> 13 <groupId>org.springframework.boot</groupId> 14 <artifactId>spring-boot-starter-web</artifactId> 15 </dependency> 16 <!--lombok--> 17 <dependency> 18 <groupId>org.projectlombok</groupId> 19 <artifactId>lombok</artifactId> 20 <optional>true</optional> 21 </dependency> 22 <!--引入测试场景启动器--> 23 <dependency> 24 <groupId>org.springframework.boot</groupId> 25 <artifactId>spring-boot-starter-test</artifactId> 26 <scope>test</scope> 27 </dependency> 28 <!--配置处理器--> 29 <dependency> 30 <groupId>org.springframework.boot</groupId> 31 <artifactId>spring-boot-configuration-processor</artifactId> 32 <optional>true</optional> 33 </dependency> 34 35 <!--数据库配置--> 36 <!--引入data-jdbc数据源--> 37 <dependency> 38 <groupId>org.springframework.boot</groupId> 39 <artifactId>spring-boot-starter-data-jdbc</artifactId> 40 </dependency> 41 <!--mysql依赖使用版本仲裁--> 42 <dependency> 43 <groupId>mysql</groupId> 44 <artifactId>mysql-connector-java</artifactId> 45 <scope>runtime</scope> 46 </dependency> 47 <!-- 引入 druid 依赖 --> 48 <dependency> 49 <groupId>com.alibaba</groupId> 50 <artifactId>druid</artifactId> 51 <version>1.1.17</version> 52 </dependency> 53 <!--MyBatis场景启动器--> 54 <dependency> 55 <groupId>org.mybatis.spring.boot</groupId> 56 <artifactId>mybatis-spring-boot-starter</artifactId> 57 <version>2.2.2</version> 58 </dependency> 59 </dependencies> 60
3.application.yml 配置数据源
- 数据库名
- 用户名
- 密码
- 驱动是mysql8的(因为上面使用了版本仲裁)
server:
port: 8080
spring:
datasource: #配置数据源
url: jdbc:mysql://localhost:3306/springboot_mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
4.Application.java 编写启动类
1package com.sun.springboot.mybatis; 2 3import org.springframework.boot.SpringApplication; 4import org.springframework.boot.autoconfigure.SpringBootApplication; 5 6/** 7 * @author 孙显圣 8 * @version 1.0 9 */ 10@SpringBootApplication 11public class Application { 12 public static void main(String[] args) { 13 SpringApplication.run(Application.class, args); 14 } 15} 16
5.测试
1package com.sun.springboot.mybatis; 2 3import org.junit.jupiter.api.Test; 4import org.springframework.boot.test.context.SpringBootTest; 5import org.springframework.jdbc.core.JdbcTemplate; 6 7import javax.annotation.Resource; 8 9/** 10 * @author 孙显圣 11 * @version 1.0 12 */ 13@SpringBootTest 14public class ApplicationTest { 15 //依赖注入 16 @Resource 17 private JdbcTemplate jdbcTemplate; 18 19 @Test 20 public void t1() { 21 //查看目前数据源 22 System.out.println(jdbcTemplate.getDataSource().getClass()); 23 } 24} 25

6.配置类切换druid数据源
1package com.sun.springboot.mybatis.config; 2 3import com.alibaba.druid.pool.DruidDataSource; 4import com.alibaba.druid.support.http.StatViewServlet; 5import com.alibaba.druid.support.http.WebStatFilter; 6import org.springframework.boot.context.properties.ConfigurationProperties; 7import org.springframework.boot.web.servlet.FilterRegistrationBean; 8import org.springframework.boot.web.servlet.ServletRegistrationBean; 9import org.springframework.context.annotation.Bean; 10import org.springframework.context.annotation.Configuration; 11 12import javax.sql.DataSource; 13import java.sql.SQLException; 14import java.util.Arrays; 15 16/** 17 * @author 孙显圣 18 * @version 1.0 19 */ 20@Configuration 21public class DruidDataSourceConfig { 22 23 //注入一个德鲁伊数据源 24 @ConfigurationProperties("spring.datasource") //读取yaml配置文件的参数,获取数据源配置 25 @Bean 26 public DataSource dataSource() throws SQLException { 27 DruidDataSource druidDataSource = new DruidDataSource(); 28 druidDataSource.setFilters("stat, wall"); //开启sql监控 29 return druidDataSource; 30 } 31 32 //配置德鲁伊监控sql功能 33 @Bean 34 public ServletRegistrationBean statViewServlet() { 35 StatViewServlet statViewServlet = new StatViewServlet(); 36 ServletRegistrationBean<StatViewServlet> registrationBean = 37 new ServletRegistrationBean<>(statViewServlet, "/druid/*"); 38 //配置登录监控页面用户名和密码 39 registrationBean.addInitParameter("loginUsername", "root"); 40 registrationBean.addInitParameter("loginPassword", "root"); 41 return registrationBean; 42 } 43 44 //配置webStatFilter 45 @Bean 46 public FilterRegistrationBean webStatFilter() { 47 WebStatFilter webStatFilter = new WebStatFilter(); 48 FilterRegistrationBean<WebStatFilter> filterRegistrationBean = 49 new FilterRegistrationBean<>(webStatFilter); 50 //默认对所有 URL 请求监控 51 filterRegistrationBean.setUrlPatterns(Arrays.asList("/*")); 52 //排除 URL 53 filterRegistrationBean.addInitParameter 54 ("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); 55 return filterRegistrationBean; 56 } 57} 58
7.测试数据源是否成功切换
1package com.sun.springboot.mybatis; 2 3import org.junit.jupiter.api.Test; 4import org.springframework.boot.test.context.SpringBootTest; 5import org.springframework.jdbc.core.JdbcTemplate; 6 7import javax.annotation.Resource; 8 9/** 10 * @author 孙显圣 11 * @version 1.0 12 */ 13@SpringBootTest 14public class ApplicationTest { 15 //依赖注入 16 @Resource 17 private JdbcTemplate jdbcTemplate; 18 19 @Test 20 public void t1() { 21 //查看目前数据源 22 System.out.println(jdbcTemplate.getDataSource().getClass()); 23 } 24} 25

4.Mybatis基础配置
1.编写映射表的bean
1package com.sun.springboot.mybatis.bean; 2 3import com.fasterxml.jackson.annotation.JsonFormat; 4import lombok.Data; 5 6import java.util.Date; 7 8/** 9 * @author 孙显圣 10 * @version 1.0 11 */ 12@Data 13public class Monster { 14 private Integer id; 15 private Integer age; 16 @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") 17 private Date birthday; 18 private String email; 19 private String name; 20 private String gender; 21 private Double salary; 22} 23
2.MonsterMapper.java 编写mapper接口
- 使用注解注入容器
package com.sun.springboot.mybatis.mapper;
import com.sun.springboot.mybatis.bean.Monster;
import org.apache.ibatis.annotations.Mapper;
/**- @author 孙显圣
- @version 1.0
*/
@Mapper //将接口注入容器
public interface MonsterMapper {
public Monster getMonsterById(Integer id);
}
3.MonsterMapper.xml 编写mapper.xml实现mapper接口
- 使用namespace指定要实现的接口

4.application.yml 扫描mapper.xml配置文件的位置
- 扫描类路径下mapper文件夹下的所有文件
mybatis:
#指定要扫描的mapper.xml
mapper-locations: classpath:mapper/*.xml
5.测试
1package com.sun.springboot.mybatis; 2 3import com.sun.springboot.mybatis.bean.Monster; 4import com.sun.springboot.mybatis.mapper.MonsterMapper; 5import org.junit.jupiter.api.Test; 6import org.springframework.boot.test.context.SpringBootTest; 7import org.springframework.jdbc.core.JdbcTemplate; 8 9import javax.annotation.Resource; 10 11/** 12 * @author 孙显圣 13 * @version 1.0 14 */ 15@SpringBootTest 16public class ApplicationTest { 17 //依赖注入 18 @Resource 19 private JdbcTemplate jdbcTemplate; 20 //注意这里注入的是MonsterMapper的代理对象 21 @Resource 22 private MonsterMapper monsterMapper; 23 24 @Test 25 public void t1() { 26 //查看目前数据源 27 System.out.println(jdbcTemplate.getDataSource().getClass()); 28 } 29 30 @Test 31 public void t2() { 32 //测试mybatis 33 Monster monsterById = monsterMapper.getMonsterById(1); 34 System.out.println(monsterById); 35 } 36} 37

5.MyBatis高级配置
1.方式一:在application.yml中配置mybatis.config-location指定mybatis-config.xml配置文件的位置
2.方式二:直接在application.yml中配置
1mybatis: 2 #指定要扫描的mapper.xml 3 mapper-locations: classpath:mapper/*.xml 4 #配置类型别名包,这样只要在这个包下的类型都可以简写 5 type-aliases-package: com/sun/springboot/mybatis/bean 6 #输出日志 7 configuration: 8 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 9
6.继续编写Service层和Controller层
1.MonsterService.java
1package com.sun.springboot.mybatis.service; 2 3import com.sun.springboot.mybatis.bean.Monster; 4 5/** 6 * @author 孙显圣 7 * @version 1.0 8 */ 9public interface MonsterService { 10 public Monster getMonsterById(Integer id); 11} 12
2.MonsterServiceImpl.java
1package com.sun.springboot.mybatis.service.Impl; 2 3import com.sun.springboot.mybatis.bean.Monster; 4import com.sun.springboot.mybatis.mapper.MonsterMapper; 5import com.sun.springboot.mybatis.service.MonsterService; 6import org.springframework.stereotype.Service; 7 8import javax.annotation.Resource; 9 10/** 11 * @author 孙显圣 12 * @version 1.0 13 */ 14@Service 15public class MonsterServiceImpl implements MonsterService { 16 @Resource 17 private MonsterMapper monsterMapper; //返回代理对象 18 @Override 19 public Monster getMonsterById(Integer id) { 20 return monsterMapper.getMonsterById(id); 21 } 22} 23
3.测试
1package com.sun.springboot.mybatis; 2 3import com.sun.springboot.mybatis.bean.Monster; 4import com.sun.springboot.mybatis.mapper.MonsterMapper; 5import com.sun.springboot.mybatis.service.MonsterService; 6import org.junit.jupiter.api.Test; 7import org.springframework.boot.test.context.SpringBootTest; 8import org.springframework.jdbc.core.JdbcTemplate; 9 10import javax.annotation.Resource; 11 12/** 13 * @author 孙显圣 14 * @version 1.0 15 */ 16@SpringBootTest 17public class ApplicationTest { 18 //依赖注入 19 @Resource 20 private MonsterService monsterService; 21 22 @Test 23 public void getMonsterById() { 24 Monster monsterById = monsterService.getMonsterById(1); 25 System.out.println(monsterById); 26 } 27} 28

4.MonsterController.java
1package com.sun.springboot.mybatis.Controller; 2 3import com.sun.springboot.mybatis.bean.Monster; 4import com.sun.springboot.mybatis.service.MonsterService; 5import org.springframework.stereotype.Controller; 6import org.springframework.web.bind.annotation.GetMapping; 7import org.springframework.web.bind.annotation.PathVariable; 8import org.springframework.web.bind.annotation.ResponseBody; 9 10import javax.annotation.Resource; 11 12/** 13 * @author 孙显圣 14 * @version 1.0 15 */ 16@Controller 17public class MonsterController { 18 @Resource 19 private MonsterService monsterService; 20 21 @GetMapping("/getMonster/{id}") //路径参数的请求 22 @ResponseBody //响应一个json 23 public Monster getMonsterById(@PathVariable("id") Integer id) { 24 Monster monsterById = monsterService.getMonsterById(id); 25 return monsterById; 26 } 27} 28
5.测试

6.解决时间问题

7.完整文件目录

2.整合MyBatis-Plus
1.MyBatis-Plus基本介绍

2.数据库表设计
1CREATE DATABASE `springboot_mybatisplus`; 2 3USE `springboot_mybatisplus`; 4 5CREATE TABLE `monster` ( 6`id` INT NOT NULL AUTO_INCREMENT, 7`age` INT NOT NULL, 8`birthday` DATE DEFAULT NULL, 9`email` VARCHAR(255) DEFAULT NULL, 10`gender` CHAR(1) DEFAULT NULL, 11`name` VARCHAR(255) DEFAULT NULL, 12`salary` DOUBLE NOT NULL, 13PRIMARY KEY (`id`) 14); 15SELECT * FROM `monster`; 16INSERT INTO monster VALUES(NULL, 20, '2000-11-11', 'xzj@sohu.com', '男', ' 蝎 子 精 ', 1715000.88); 18INSERT INTO monster VALUES(NULL, 10, '2011-11-11', 'ytj@sohu.com', '女', ' 玉 兔 精 ', 1918000.88); 20
3.数据库环境配置
1.创建maven项目

2.pom.xml 导入依赖
1 <!--导入springboot父工程--> 2 <parent> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <groupId>org.springframework.boot</groupId> 5 <version>2.5.3</version> 6 </parent> 7 8 <!--引入相关依赖--> 9 <dependencies> 10 <!--常规依赖--> 11 <!--web场景启动器--> 12 <dependency> 13 <groupId>org.springframework.boot</groupId> 14 <artifactId>spring-boot-starter-web</artifactId> 15 </dependency> 16 <!--lombok--> 17 <dependency> 18 <groupId>org.projectlombok</groupId> 19 <artifactId>lombok</artifactId> 20 <optional>true</optional> 21 </dependency> 22 <!--引入测试场景启动器--> 23 <dependency> 24 <groupId>org.springframework.boot</groupId> 25 <artifactId>spring-boot-starter-test</artifactId> 26 <scope>test</scope> 27 </dependency> 28 <!--配置处理器--> 29 <dependency> 30 <groupId>org.springframework.boot</groupId> 31 <artifactId>spring-boot-configuration-processor</artifactId> 32 <optional>true</optional> 33 </dependency> 34 35 <!--数据库配置--> 36 <!--mysql依赖使用版本仲裁--> 37 <dependency> 38 <groupId>mysql</groupId> 39 <artifactId>mysql-connector-java</artifactId> 40 <scope>runtime</scope> 41 </dependency> 42 <!-- 引入 druid 依赖 --> 43 <dependency> 44 <groupId>com.alibaba</groupId> 45 <artifactId>druid</artifactId> 46 <version>1.1.17</version> 47 </dependency> 48 49 <!--引入MyBatis-Plus场景启动器,会自动引入jdbc和MyBatis--> 50 <dependency> 51 <groupId>com.baomidou</groupId> 52 <artifactId>mybatis-plus-boot-starter</artifactId> 53 <version>3.4.3</version> 54 </dependency> 55 </dependencies> 56
3.application.yml 配置数据源
- 数据库名称
- 用户名
- 密码
server:
port: 8080
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot_mybatisplus?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username: root
password: root
4.DruidDataSourceConfig.java 配置类切换druid数据源
1package com.sun.springboot.mybatisplus.config; 2 3import com.alibaba.druid.pool.DruidDataSource; 4import com.alibaba.druid.support.http.StatViewServlet; 5import com.alibaba.druid.support.http.WebStatFilter; 6import org.springframework.boot.context.properties.ConfigurationProperties; 7import org.springframework.boot.web.servlet.FilterRegistrationBean; 8import org.springframework.boot.web.servlet.ServletRegistrationBean; 9import org.springframework.context.annotation.Bean; 10import org.springframework.context.annotation.Configuration; 11 12import javax.sql.DataSource; 13import java.sql.SQLException; 14import java.util.Arrays; 15 16/** 17 * @author 孙显圣 18 * @version 1.0 19 */ 20@Configuration 21public class DruidDataSourceConfig { 22 23 //注入一个德鲁伊数据源 24 @ConfigurationProperties("spring.datasource") //读取yaml配置文件的参数,获取数据源配置 25 @Bean 26 public DataSource dataSource() throws SQLException { 27 DruidDataSource druidDataSource = new DruidDataSource(); 28 druidDataSource.setFilters("stat, wall"); //开启sql监控 29 return druidDataSource; 30 } 31 32 //配置德鲁伊监控sql功能 33 @Bean 34 public ServletRegistrationBean statViewServlet() { 35 StatViewServlet statViewServlet = new StatViewServlet(); 36 ServletRegistrationBean<StatViewServlet> registrationBean = 37 new ServletRegistrationBean<>(statViewServlet, "/druid/*"); 38 //配置登录监控页面用户名和密码 39 registrationBean.addInitParameter("loginUsername", "root"); 40 registrationBean.addInitParameter("loginPassword", "root"); 41 return registrationBean; 42 } 43 44 //配置webStatFilter 45 @Bean 46 public FilterRegistrationBean webStatFilter() { 47 WebStatFilter webStatFilter = new WebStatFilter(); 48 FilterRegistrationBean<WebStatFilter> filterRegistrationBean = 49 new FilterRegistrationBean<>(webStatFilter); 50 //默认对所有 URL 请求监控 51 filterRegistrationBean.setUrlPatterns(Arrays.asList("/*")); 52 //排除 URL 53 filterRegistrationBean.addInitParameter 54 ("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); 55 return filterRegistrationBean; 56 } 57} 58
5.编写启动类Application.java,测试运行
1package com.sun.springboot.mybatisplus; 2 3import org.springframework.boot.SpringApplication; 4import org.springframework.boot.autoconfigure.SpringBootApplication; 5 6/** 7 * @author 孙显圣 8 * @version 1.0 9 */ 10@SpringBootApplication 11public class Application { 12 public static void main(String[] args) { 13 SpringApplication.run(Application.class, args); 14 } 15} 16

4.MyBatis-Plus基础配置
1.编写映射表的bean
1package com.sun.springboot.mybatisplus.bean; 2 3import com.fasterxml.jackson.annotation.JsonFormat; 4import lombok.Data; 5 6import java.util.Date; 7 8/** 9 * @author 孙显圣 10 * @version 1.0 11 */ 12@Data 13public class Monster { 14 private Integer id; 15 private Integer age; 16 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 17 private Date birthday; 18 private String email; 19 private String name; 20 private String gender; 21 private Double salary; 22} 23
2.MonsterMapper.java 编写Mapper接口
1package com.sun.springboot.mybatisplus.mapper; 2 3import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4import com.sun.springboot.mybatisplus.bean.Monster; 5import org.apache.ibatis.annotations.Mapper; 6 7/** 8 * @author 孙显圣 9 * @version 1.0 10 */ 11//直接继承BaseMapper接口 12@Mapper //注入容器 13public interface MonsterMapper extends BaseMapper<Monster> { 14 //如果提供的方法不够用再自定义方法 15} 16
3.测试接口方法使用
1package com.sun.springboot.mybatisplus; 2 3import com.sun.springboot.mybatisplus.bean.Monster; 4import com.sun.springboot.mybatisplus.mapper.MonsterMapper; 5import org.junit.jupiter.api.Test; 6import org.springframework.boot.test.context.SpringBootTest; 7 8import javax.annotation.Resource; 9 10/** 11 * @author 孙显圣 12 * @version 1.0 13 */ 14@SpringBootTest 15public class MonsterMapperTest { 16 //注入针对Mapper接口的代理对象 17 @Resource 18 private MonsterMapper monsterMapper; 19 @Test 20 public void t1() { 21 Monster monster = monsterMapper.selectById(1); 22 System.out.println(monster); 23 } 24} 25

5.MyBatis-Plus高级配置
application.yml 进行配置
1#进行mybatis-plus配置 2mybatis-plus: 3 configuration: 4 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 5
6.继续编写Service层和Controller层
1.MonsterService.java
1package com.sun.springboot.mybatisplus.service.Impl; 2 3import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4import com.sun.springboot.mybatisplus.bean.Monster; 5import com.sun.springboot.mybatisplus.mapper.MonsterMapper; 6import com.sun.springboot.mybatisplus.service.MonsterService; 7import org.springframework.stereotype.Service; 8 9/** 10 * 这里 11 * @author 孙显圣 12 * @version 1.0 13 */ 14@Service 15public class MonsterServiceImpl extends ServiceImpl<MonsterMapper, Monster> implements MonsterService { 16 //自定义方法实现 17} 18
2.MonsterServiceImpl.java
1package com.sun.springboot.mybatisplus.service.Impl; 2 3import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4import com.sun.springboot.mybatisplus.bean.Monster; 5import com.sun.springboot.mybatisplus.mapper.MonsterMapper; 6import com.sun.springboot.mybatisplus.service.MonsterService; 7import org.springframework.stereotype.Service; 8 9/** 10 * 这里 11 * @author 孙显圣 12 * @version 1.0 13 */ 14@Service 15public class MonsterServiceImpl extends ServiceImpl<MonsterMapper, Monster> implements MonsterService { 16 //自定义方法实现 17} 18
3.测试
1package com.sun.springboot.mybatisplus; 2 3import com.sun.springboot.mybatisplus.bean.Monster; 4import com.sun.springboot.mybatisplus.mapper.MonsterMapper; 5import com.sun.springboot.mybatisplus.service.MonsterService; 6import org.junit.jupiter.api.Test; 7import org.springframework.boot.test.context.SpringBootTest; 8 9import javax.annotation.Resource; 10 11/** 12 * @author 孙显圣 13 * @version 1.0 14 */ 15@SpringBootTest 16public class MonsterServiceTest { 17 @Resource 18 private MonsterService monsterService; 19 @Test 20 public void t1() { 21 Monster byId = monsterService.getById(2); 22 System.out.println(byId); 23 } 24} 25

4.细节说明
- 简单来说就是MonsterServiceImpl只需要实现MonsterService接口的方法
- 可以调用IService接口的方法,也可以调用MonsterService接口的方法

5.MonsterController.java
1package com.sun.springboot.mybatisplus.controller; 2 3import com.sun.springboot.mybatisplus.bean.Monster; 4import com.sun.springboot.mybatisplus.service.MonsterService; 5import org.springframework.stereotype.Controller; 6import org.springframework.web.bind.annotation.GetMapping; 7import org.springframework.web.bind.annotation.PathVariable; 8import org.springframework.web.bind.annotation.ResponseBody; 9 10import javax.annotation.Resource; 11 12/** 13 * @author 孙显圣 14 * @version 1.0 15 */ 16@Controller 17public class MonsterController { 18 @Resource 19 //注入的是MonsterServiceImpl的bean对象,可以直接调用IService接口的方法 20 private MonsterService monsterService; 21 @GetMapping("/getMonster/{id}") 22 @ResponseBody 23 public Monster getMonsterById(@PathVariable("id") Integer id) { 24 Monster byId = monsterService.getById(id); 25 return byId; 26 } 27} 28

7.细节说明
1.@MapperScan 扫描包下的所有Mapper
启动类配置注解

2.@TableName bean的类名与表名不一致时使用
3.MyBatis引入了哪些依赖

8.MyBatisX快速开发
1.安装插件

2.使用方式
1.挑一个带小鸟的方法

2.直接alt + Enter

3.生成sql语句

4.查看生成的方法

5.点击左边的小鸟就可以直接跳转到指定方法或者xml


9.完整文件目录

10.MyBatis-Plus小结

《SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)》 是转载文章,点击查看原文。
