Mybatis-Plus虽然官网上有一个快速开始,但是实际操作有点问题,所以,自己写了一个。
版本说明
如果用其他软件版本可能会有部分差异
mybatis-plus:3.4.0
之前我是使用的是3.0.5,但是看官网文档已经更新到这个版本了,而且官方文档基本是基于3.3.0以上
springboot:2.3.4
mysql:5.1.47
新建数据库和表
- 新建一个数据库
mybatis_plus
- 新建一个表和添加数据
create table user(
id BIGINT(20) not null COMMENT "主键ID"
,name VARCHAR(30) COMMENT "姓名"
,age INT(11) COMMENT "年龄"
,email VARCHAR(50) COMMENT "邮箱"
,PRIMARY KEY(id)
);
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('1', 'Jane', '10', 'test1@qq.com');
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('2', 'Jack', '18', 'test2@qq.com');
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('3', 'Tom', '20', 'test3@qq.com');
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('4', 'Samdy', '15', 'test4@qq.com');
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('5', 'kangkanhg', '16', 'test5@qq.com');
初始化项目
IDEA使用Spring Initializr新建一个springboot项目,使用版本2.3.4.RELEASE
添加依赖
注意:需要添加lombok插件
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!--mysql 可以确定mysql的版本5还是8-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--lombok用来简化实体类-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
配置
在 application.properties 配置文件中添加 mysql 数据库的相关配置:
注意如果mysql是8版本就要加一个时区?serverTimezone=GMT%2B8
#mysql数据库连接
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus
spring.datasource.username=root
spring.datasource.password=123456
编码
实体类
package com.jmu.pojo;
import lombok.Data;
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
Mapper类
package com.jmu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jmu.pojo.User;
import org.springframework.stereotype.Repository;
@Repository
public interface UserMapper extends BaseMapper<User> {
}
扫描mapper
在mapper的启动类中添加
package com.jmu;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.jmu.mapper")
@SpringBootApplication
public class MpApplication {
public static void main(String[] args) {
SpringApplication.run(MpApplication.class, args);
}
}
测试
package com.jmu;
import com.jmu.mapper.UserMapper;
import com.jmu.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class MpApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
List<User> all= userMapper.selectList(null);
for (User user : all) {
System.out.println(user);
}
}
}