Mybatis-plus 初使用(踩的坑)
MyBatis Plus快速入门
首先打开mybatis-plus的官方文档 https://baomidou.com/getting-started/,根据快速开始的步骤走,那么就开始吧
一、创建数据库,并生成内容
生成一个user表,在表中添加字段
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`
(
id BIGINT NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
添加数据
DELETE FROM `user`;
INSERT INTO `user` (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
二、搭建项目
2.1使用idea快速搭建springboot框架
新建一个项目
这里使用的是maven进行包的管理,然后按下一步
在创建时添加框中的选项,按next创建完成
一个最初始的项目就搭建好了
2.2、添加依赖
重点: 大家一定要根据自己的Java版本去选择导入哪个版本的Spring Boot,8和11的小伙伴导入Spring Boot2,17和22的小伙伴导入Spring Boot3,千万别弄错,会报错的
Spring Boot2
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.7</version>
</dependency>
Spring Boot3
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.7</version>
</dependency>
将依赖复制到pom.xml文件中
添加Junit依赖
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
删除下面依赖,会和maybatis-plus冲突
2.3、修改配置文件 application.yml
首先将src/main/resouces文件下的 application.properties改成application.yml并删除里面内容,将下面内容复制到文件中,修改url和passward为自己的数据库对应
spring:
application:
name: user_center
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/数据库名
username: root
password: 密码
server:
port: 8080
2.4、编码
创建实体包和mapper包
将实体类User.java复制到model中
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
将Mapper接口复制到mapper中
public interface UserMapper extends BaseMapper<User> {
}
添加到测试类当中,运行
@SpringBootTest
@RunWith(SpringRunner.class)
public class SampleTest {
@Autowired
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assert.isTrue(5 == userList.size(), "");
userList.forEach(System.out::println);
}
}
在Demo1Application添加 @MapperScan(“这里是mapper所出的包的位置”)
@MapperScan("com.example.demo1.mapper")
2.6运行结果
运行测试类
总结
在这个过程中会存在几个问题
1、Java版本对应的Spring Boot版本问题
2、mybatis-plus 的依赖和mybatis依赖会冲突关系,官方文档也给出了
3、在测试类中@Test 和 @RunWith(SpringRunner.class) 需要使用同一个Junit的依赖否则报错
不同包报错
相同包运行成功
最后,个人也是初学,有什么不正确的观点也请大佬在评论中指出。