SpringBoot?整合MyBatis+MyBatis-Plus+MyBatisX插件使用
1.整合MyBatis
1.需求分析

2.數(shù)據(jù)庫(kù)表設(shè)計(jì)
CREATE DATABASE `springboot_mybatis`; use `springboot_mybatis`; CREATE TABLE `monster` ( `id` INT NOT NULL AUTO_INCREMENT, `age` INT NOT NULL, `birthday` DATE DEFAULT NULL, `email` VARCHAR(255) DEFAULT NULL, `gender` char(1) DEFAULT NULL, `name` VARCHAR(255) DEFAULT NULL, `salary` DOUBLE NOT NULL, PRIMARY KEY (`id`) ); SELECT * FROM `monster`; insert into monster values(null, 20, '2000-11-11', 'nmw@sohu.com', '男', '牛魔王', 5000.88); insert into monster values(null, 10, '2011-11-11', 'bgj@sohu.com', '女', '白骨精', 2000.00);
3.數(shù)據(jù)庫(kù)環(huán)境配置
1.新建maven項(xiàng)目

2.pom.xml 引入依賴(lài)
<!--導(dǎo)入springboot父工程-->
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.5.3</version>
</parent>
<!--引入相關(guān)依賴(lài)-->
<dependencies>
<!--常規(guī)依賴(lài)-->
<!--web場(chǎng)景啟動(dòng)器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--引入測(cè)試場(chǎng)景啟動(dòng)器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--配置處理器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!--數(shù)據(jù)庫(kù)配置-->
<!--引入data-jdbc數(shù)據(jù)源-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<!--mysql依賴(lài)使用版本仲裁-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 引入 druid 依賴(lài) -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.17</version>
</dependency>
<!--MyBatis場(chǎng)景啟動(dòng)器-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
</dependencies>
3.application.yml 配置數(shù)據(jù)源
- 數(shù)據(jù)庫(kù)名
- 用戶(hù)名
- 密碼
- 驅(qū)動(dòng)是mysql8的(因?yàn)樯厦媸褂昧税姹局俨茫?/li>
server:
port: 8080
spring:
datasource: #配置數(shù)據(jù)源
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 編寫(xiě)啟動(dòng)類(lèi)
package com.sun.springboot.mybatis;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author 孫顯圣
* @version 1.0
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
5.測(cè)試
package com.sun.springboot.mybatis;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.annotation.Resource;
/**
* @author 孫顯圣
* @version 1.0
*/
@SpringBootTest
public class ApplicationTest {
//依賴(lài)注入
@Resource
private JdbcTemplate jdbcTemplate;
@Test
public void t1() {
//查看目前數(shù)據(jù)源
System.out.println(jdbcTemplate.getDataSource().getClass());
}
}

6.配置類(lèi)切換druid數(shù)據(jù)源
package com.sun.springboot.mybatis.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.Arrays;
/**
* @author 孫顯圣
* @version 1.0
*/
@Configuration
public class DruidDataSourceConfig {
//注入一個(gè)德魯伊數(shù)據(jù)源
@ConfigurationProperties("spring.datasource") //讀取yaml配置文件的參數(shù),獲取數(shù)據(jù)源配置
@Bean
public DataSource dataSource() throws SQLException {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setFilters("stat, wall"); //開(kāi)啟sql監(jiān)控
return druidDataSource;
}
//配置德魯伊監(jiān)控sql功能
@Bean
public ServletRegistrationBean statViewServlet() {
StatViewServlet statViewServlet = new StatViewServlet();
ServletRegistrationBean<StatViewServlet> registrationBean =
new ServletRegistrationBean<>(statViewServlet, "/druid/*");
//配置登錄監(jiān)控頁(yè)面用戶(hù)名和密碼
registrationBean.addInitParameter("loginUsername", "root");
registrationBean.addInitParameter("loginPassword", "root");
return registrationBean;
}
//配置webStatFilter
@Bean
public FilterRegistrationBean webStatFilter() {
WebStatFilter webStatFilter = new WebStatFilter();
FilterRegistrationBean<WebStatFilter> filterRegistrationBean =
new FilterRegistrationBean<>(webStatFilter);
//默認(rèn)對(duì)所有 URL 請(qǐng)求監(jiān)控
filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
//排除 URL
filterRegistrationBean.addInitParameter
("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
}
7.測(cè)試數(shù)據(jù)源是否成功切換
package com.sun.springboot.mybatis;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.annotation.Resource;
/**
* @author 孫顯圣
* @version 1.0
*/
@SpringBootTest
public class ApplicationTest {
//依賴(lài)注入
@Resource
private JdbcTemplate jdbcTemplate;
@Test
public void t1() {
//查看目前數(shù)據(jù)源
System.out.println(jdbcTemplate.getDataSource().getClass());
}
}

4.Mybatis基礎(chǔ)配置
1.編寫(xiě)映射表的bean
package com.sun.springboot.mybatis.bean;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author 孫顯圣
* @version 1.0
*/
@Data
public class Monster {
private Integer id;
private Integer age;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date birthday;
private String email;
private String name;
private String gender;
private Double salary;
}
2.MonsterMapper.java 編寫(xiě)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 編寫(xiě)mapper.xml實(shí)現(xiàn)mapper接口
使用namespace指定要實(shí)現(xiàn)的接口
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--指定要實(shí)現(xiàn)的接口-->
<mapper namespace="com.sun.springboot.mybatis.mapper.MonsterMapper">
<select id="getMonsterById" resultType="com.sun.springboot.mybatis.bean.Monster" parameterType="Integer">
select * from monster where id = #{id}
</select>
</mapper>

4.application.yml 掃描mapper.xml配置文件的位置
掃描類(lèi)路徑下mapper文件夾下的所有文件
mybatis: #指定要掃描的mapper.xml mapper-locations: classpath:mapper/*.xml
5.測(cè)試
package com.sun.springboot.mybatis;
import com.sun.springboot.mybatis.bean.Monster;
import com.sun.springboot.mybatis.mapper.MonsterMapper;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.annotation.Resource;
/**
* @author 孫顯圣
* @version 1.0
*/
@SpringBootTest
public class ApplicationTest {
//依賴(lài)注入
@Resource
private JdbcTemplate jdbcTemplate;
//注意這里注入的是MonsterMapper的代理對(duì)象
@Resource
private MonsterMapper monsterMapper;
@Test
public void t1() {
//查看目前數(shù)據(jù)源
System.out.println(jdbcTemplate.getDataSource().getClass());
}
@Test
public void t2() {
//測(cè)試mybatis
Monster monsterById = monsterMapper.getMonsterById(1);
System.out.println(monsterById);
}
}

5.MyBatis高級(jí)配置
1.方式一:在application.yml中配置mybatis.config-location指定mybatis-config.xml配置文件的位置
2.方式二:直接在application.yml中配置
mybatis:
#指定要掃描的mapper.xml
mapper-locations: classpath:mapper/*.xml
#配置類(lèi)型別名包,這樣只要在這個(gè)包下的類(lèi)型都可以簡(jiǎn)寫(xiě)
type-aliases-package: com/sun/springboot/mybatis/bean
#輸出日志
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
6.繼續(xù)編寫(xiě)Service層和Controller層
1.MonsterService.java
package com.sun.springboot.mybatis.service;
import com.sun.springboot.mybatis.bean.Monster;
/**
* @author 孫顯圣
* @version 1.0
*/
public interface MonsterService {
public Monster getMonsterById(Integer id);
}
2.MonsterServiceImpl.java
package com.sun.springboot.mybatis.service.Impl;
import com.sun.springboot.mybatis.bean.Monster;
import com.sun.springboot.mybatis.mapper.MonsterMapper;
import com.sun.springboot.mybatis.service.MonsterService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author 孫顯圣
* @version 1.0
*/
@Service
public class MonsterServiceImpl implements MonsterService {
@Resource
private MonsterMapper monsterMapper; //返回代理對(duì)象
@Override
public Monster getMonsterById(Integer id) {
return monsterMapper.getMonsterById(id);
}
}
3.測(cè)試
package com.sun.springboot.mybatis;
import com.sun.springboot.mybatis.bean.Monster;
import com.sun.springboot.mybatis.mapper.MonsterMapper;
import com.sun.springboot.mybatis.service.MonsterService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.annotation.Resource;
/**
* @author 孫顯圣
* @version 1.0
*/
@SpringBootTest
public class ApplicationTest {
//依賴(lài)注入
@Resource
private MonsterService monsterService;
@Test
public void getMonsterById() {
Monster monsterById = monsterService.getMonsterById(1);
System.out.println(monsterById);
}
}

4.MonsterController.java
package com.sun.springboot.mybatis.Controller;
import com.sun.springboot.mybatis.bean.Monster;
import com.sun.springboot.mybatis.service.MonsterService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
/**
* @author 孫顯圣
* @version 1.0
*/
@Controller
public class MonsterController {
@Resource
private MonsterService monsterService;
@GetMapping("/getMonster/{id}") //路徑參數(shù)的請(qǐng)求
@ResponseBody //響應(yīng)一個(gè)json
public Monster getMonsterById(@PathVariable("id") Integer id) {
Monster monsterById = monsterService.getMonsterById(id);
return monsterById;
}
}
5.測(cè)試

6.解決時(shí)間問(wèn)題

7.完整文件目錄

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

2.數(shù)據(jù)庫(kù)表設(shè)計(jì)
CREATE DATABASE `springboot_mybatisplus`; USE `springboot_mybatisplus`; CREATE TABLE `monster` ( `id` INT NOT NULL AUTO_INCREMENT, `age` INT NOT NULL, `birthday` DATE DEFAULT NULL, `email` VARCHAR(255) DEFAULT NULL, `gender` CHAR(1) DEFAULT NULL, `name` VARCHAR(255) DEFAULT NULL, `salary` DOUBLE NOT NULL, PRIMARY KEY (`id`) ); SELECT * FROM `monster`; INSERT INTO monster VALUES(NULL, 20, '2000-11-11', 'xzj@sohu.com', '男', ' 蝎 子 精 ', 15000.88); INSERT INTO monster VALUES(NULL, 10, '2011-11-11', 'ytj@sohu.com', '女', ' 玉 兔 精 ', 18000.88);
3.數(shù)據(jù)庫(kù)環(huán)境配置
1.創(chuàng)建maven項(xiàng)目

2.pom.xml 導(dǎo)入依賴(lài)
<!--導(dǎo)入springboot父工程-->
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.5.3</version>
</parent>
<!--引入相關(guān)依賴(lài)-->
<dependencies>
<!--常規(guī)依賴(lài)-->
<!--web場(chǎng)景啟動(dòng)器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--引入測(cè)試場(chǎng)景啟動(dòng)器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--配置處理器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!--數(shù)據(jù)庫(kù)配置-->
<!--mysql依賴(lài)使用版本仲裁-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 引入 druid 依賴(lài) -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.17</version>
</dependency>
<!--引入MyBatis-Plus場(chǎng)景啟動(dòng)器,會(huì)自動(dòng)引入jdbc和MyBatis-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
</dependencies>
3.application.yml 配置數(shù)據(jù)源
- 數(shù)據(jù)庫(kù)名稱(chēng)
- 用戶(hù)名
- 密碼
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 配置類(lèi)切換druid數(shù)據(jù)源
package com.sun.springboot.mybatisplus.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.Arrays;
/**
* @author 孫顯圣
* @version 1.0
*/
@Configuration
public class DruidDataSourceConfig {
//注入一個(gè)德魯伊數(shù)據(jù)源
@ConfigurationProperties("spring.datasource") //讀取yaml配置文件的參數(shù),獲取數(shù)據(jù)源配置
@Bean
public DataSource dataSource() throws SQLException {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setFilters("stat, wall"); //開(kāi)啟sql監(jiān)控
return druidDataSource;
}
//配置德魯伊監(jiān)控sql功能
@Bean
public ServletRegistrationBean statViewServlet() {
StatViewServlet statViewServlet = new StatViewServlet();
ServletRegistrationBean<StatViewServlet> registrationBean =
new ServletRegistrationBean<>(statViewServlet, "/druid/*");
//配置登錄監(jiān)控頁(yè)面用戶(hù)名和密碼
registrationBean.addInitParameter("loginUsername", "root");
registrationBean.addInitParameter("loginPassword", "root");
return registrationBean;
}
//配置webStatFilter
@Bean
public FilterRegistrationBean webStatFilter() {
WebStatFilter webStatFilter = new WebStatFilter();
FilterRegistrationBean<WebStatFilter> filterRegistrationBean =
new FilterRegistrationBean<>(webStatFilter);
//默認(rèn)對(duì)所有 URL 請(qǐng)求監(jiān)控
filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
//排除 URL
filterRegistrationBean.addInitParameter
("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
}
5.編寫(xiě)啟動(dòng)類(lèi)Application.java,測(cè)試運(yùn)行
package com.sun.springboot.mybatisplus;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author 孫顯圣
* @version 1.0
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

4.MyBatis-Plus基礎(chǔ)配置
1.編寫(xiě)映射表的bean
package com.sun.springboot.mybatisplus.bean;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author 孫顯圣
* @version 1.0
*/
@Data
public class Monster {
private Integer id;
private Integer age;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date birthday;
private String email;
private String name;
private String gender;
private Double salary;
}
2.MonsterMapper.java 編寫(xiě)Mapper接口
package com.sun.springboot.mybatisplus.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sun.springboot.mybatisplus.bean.Monster;
import org.apache.ibatis.annotations.Mapper;
/**
* @author 孫顯圣
* @version 1.0
*/
//直接繼承BaseMapper接口
@Mapper //注入容器
public interface MonsterMapper extends BaseMapper<Monster> {
//如果提供的方法不夠用再自定義方法
}
3.測(cè)試接口方法使用
package com.sun.springboot.mybatisplus;
import com.sun.springboot.mybatisplus.bean.Monster;
import com.sun.springboot.mybatisplus.mapper.MonsterMapper;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
/**
* @author 孫顯圣
* @version 1.0
*/
@SpringBootTest
public class MonsterMapperTest {
//注入針對(duì)Mapper接口的代理對(duì)象
@Resource
private MonsterMapper monsterMapper;
@Test
public void t1() {
Monster monster = monsterMapper.selectById(1);
System.out.println(monster);
}
}

5.MyBatis-Plus高級(jí)配置
application.yml 進(jìn)行配置
#進(jìn)行mybatis-plus配置
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
6.繼續(xù)編寫(xiě)Service層和Controller層
1.MonsterService.java
package com.sun.springboot.mybatisplus.service.Impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sun.springboot.mybatisplus.bean.Monster;
import com.sun.springboot.mybatisplus.mapper.MonsterMapper;
import com.sun.springboot.mybatisplus.service.MonsterService;
import org.springframework.stereotype.Service;
/**
* 這里
* @author 孫顯圣
* @version 1.0
*/
@Service
public class MonsterServiceImpl extends ServiceImpl<MonsterMapper, Monster> implements MonsterService {
//自定義方法實(shí)現(xiàn)
}
2.MonsterServiceImpl.java
package com.sun.springboot.mybatisplus.service.Impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sun.springboot.mybatisplus.bean.Monster;
import com.sun.springboot.mybatisplus.mapper.MonsterMapper;
import com.sun.springboot.mybatisplus.service.MonsterService;
import org.springframework.stereotype.Service;
/**
* 這里
* @author 孫顯圣
* @version 1.0
*/
@Service
public class MonsterServiceImpl extends ServiceImpl<MonsterMapper, Monster> implements MonsterService {
//自定義方法實(shí)現(xiàn)
}
3.測(cè)試
package com.sun.springboot.mybatisplus;
import com.sun.springboot.mybatisplus.bean.Monster;
import com.sun.springboot.mybatisplus.mapper.MonsterMapper;
import com.sun.springboot.mybatisplus.service.MonsterService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
/**
* @author 孫顯圣
* @version 1.0
*/
@SpringBootTest
public class MonsterServiceTest {
@Resource
private MonsterService monsterService;
@Test
public void t1() {
Monster byId = monsterService.getById(2);
System.out.println(byId);
}
}

4.細(xì)節(jié)說(shuō)明
- 簡(jiǎn)單來(lái)說(shuō)就是MonsterServiceImpl只需要實(shí)現(xiàn)MonsterService接口的方法
- 可以調(diào)用IService接口的方法,也可以調(diào)用MonsterService接口的方法

5.MonsterController.java
package com.sun.springboot.mybatisplus.controller;
import com.sun.springboot.mybatisplus.bean.Monster;
import com.sun.springboot.mybatisplus.service.MonsterService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
/**
* @author 孫顯圣
* @version 1.0
*/
@Controller
public class MonsterController {
@Resource
//注入的是MonsterServiceImpl的bean對(duì)象,可以直接調(diào)用IService接口的方法
private MonsterService monsterService;
@GetMapping("/getMonster/{id}")
@ResponseBody
public Monster getMonsterById(@PathVariable("id") Integer id) {
Monster byId = monsterService.getById(id);
return byId;
}
}

7.細(xì)節(jié)說(shuō)明
1.@MapperScan 掃描包下的所有Mapper
啟動(dòng)類(lèi)配置注解

2.@TableName bean的類(lèi)名與表名不一致時(shí)使用

3.MyBatis引入了哪些依賴(lài)

8.MyBatisX快速開(kāi)發(fā)
1.安裝插件

2.使用方式
1.挑一個(gè)帶小鳥(niǎo)的方法

2.直接alt + Enter

3.生成sql語(yǔ)句

4.查看生成的方法

5.點(diǎn)擊左邊的小鳥(niǎo)就可以直接跳轉(zhuǎn)到指定方法或者xml


9.完整文件目錄

10.MyBatis-Plus小結(jié)

到此這篇關(guān)于SpringBoot 整合MyBatis+MyBatis-Plus+MyBatisX插件使用的文章就介紹到這了,更多相關(guān)SpringBoot整合MyBatis 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
jackson在springboot中的使用方式-自定義參數(shù)轉(zhuǎn)換器
這篇文章主要介紹了jackson在springboot中的使用方式-自定義參數(shù)轉(zhuǎn)換器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Java中l(wèi)ong類(lèi)型與Long類(lèi)型的區(qū)別和大小比較詳解
這篇文章主要給大家介紹了Java中l(wèi)ong類(lèi)型與Long類(lèi)型區(qū)別和大小比較的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
詳解Java如何判斷ResultSet結(jié)果集是否為空
ResultSet 表示 select 語(yǔ)句的查詢(xún)結(jié)果集。這篇文章主要為大家詳細(xì)介紹了Java如何判斷ResultSet結(jié)果集是否為空,感興趣的可以了解一下2023-02-02
java編寫(xiě)的簡(jiǎn)單移動(dòng)方塊小游戲代碼
這篇文章主要介紹了java編寫(xiě)的簡(jiǎn)單移動(dòng)方塊小游戲代碼,涉及Java簡(jiǎn)單圖形繪制與事件響應(yīng)的相關(guān)技巧,需要的朋友可以參考下2015-12-12
簡(jiǎn)單了解Java synchronized關(guān)鍵字同步
這篇文章主要介紹了簡(jiǎn)單了解Java synchronized關(guān)鍵字同步,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
基于Java方式實(shí)現(xiàn)數(shù)據(jù)同步
這篇文章主要為大家詳細(xì)介紹了基于Java方式實(shí)現(xiàn)數(shù)據(jù)同步,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08

