SpringBoot
【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】
SpringBoot 基础篇
文章目录
3 SpringBoot 整合第三方技术
3.5 SpringBoot 整合 Mybatis-Plus
3.5.1 整合Mybatis-Plus
之前我们已经做完了SpringBoot 整合Mybatis 的内容
- 整合MyBatis-Plus与MyBatis的区别
- 导入坐标不同
- 数据层实现简化
3.5.2 整合步骤
创建一个新模块工程
下一步
其实我们可以发现Springboot 官方并没有收录Mybatis-Plus
【怎么办呢?】
两个办法:
-
使用阿里云
OK,下一步
可以看到这次就有了【但是阿里云的SpringBoot 版本一般都较低,不太好【还是建议自己加】】
-
自己手动加
改回来
只勾一个MySQL
创建
OK,一个全新的SpringBoot 工程
一个问题,Mybatis-Plus的坐标怎么查?
MVN 官网:https://mvnrepository.com/
搜索
就是它了,点进去
可以直接选最新版,点进去
坐标就是这个了【复制出来】
贴到pom 文件中,刷一下
现在可以把SpringBoot 的起步依赖也直接注掉了
配置数据源
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
username: root
password: 200039
可以直接复制上一个模块的
时区可加可不加,因为我们SpringBoot 版本已经超过 2.4.1 了
domain 和 dao 也贴过来进行修改
实体类不用改,数据层接口修改为
package com.dingjiaxiong.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dingjiaxiong.domain.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
/**
* ClassName: BookDao
* date: 2022/10/17 10:25
*
* @author DingJiaxiong
*/
@Mapper
public interface BookDao extends BaseMapper<Book> {
}
OK,就是直接,直接开测吧
package com.dingjiaxiong;
import com.dingjiaxiong.dao.BookDao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class Springboot06MybatisPlusApplicationTests {
@Autowired
private BookDao bookDao;
@Test
void selectById(){
System.out.println(bookDao.selectById(2));
}
}
可以看到报错了,说book 表不存在,这是因为MP帮我们写的SQL,用的是实体类的名字,我们的数据表名其实是
所以直接报错了
解决办法【在配置文件中设置MP相关的配置】
# 设置MP相关的配置
mybatis-plus:
global-config:
db-config:
table-prefix: tbl_
再次测试
OK,这样就查出来了
再多测试几个
查询全部
@Test
void testGetAll(){
System.out.println(bookDao.selectList(null));
}
没毛病
小结一下:
SpringBoot整合MyBatis-Plus步骤:
-
手动添加SpringBoot整合MyBatis-Plus的坐标,可以通过mvnrepository获取
由于SpringBoot中未收录MyBatis-Plus的坐标版本,需要指定对应的Version
-
定义数据层接口与映射配置,继承BaseMapper
-
其他同SpringBoot整合MyBatis
3.5.3 小结
- 手工添加MyBatis-Plus对应的starter
- 数据层接口使用BaseMapper简化开发
- 需要使用的第三方技术无法通过勾选确定时,需要手工添加坐标