MybatisPlus 是 Mybatis 的升级版本,是对 Mybatis 的简化,因为他们的口号就是“为简化开发而生”。
1、创建数据表
CREATE TABLE
User
(
id
INT NOT NULL,
username
VARCHAR(50) NULL DEFAULT NULL,
gendar
CHAR(2) NULL DEFAULT NULL,
remark
VARCHAR(50) NULL DEFAULT NULL);
向表中插入数据
INSERT INTO user VALUES(1, 'admin', '男', '管理员账号')
2、创建 SpringBoot 工程
3、引用 MyBatisPlus 三方包
在pom.xml中引入第三方包,这里需要注意的是,除了引入 mybatis-plus 包,还需要引入 mybatis-plus 专门为 springboot 封装的 starter 包。
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
4、创建 实体类 文件
创建 pojo 包,并在包下创建 User 类。
实体类的类名与各成员变量名称,可与数据表中各字段名称一致,方便进行映射。
也可以在类中进行手动映射:
可以在类名上使用注解 @TableName(value = "数据表名")
,建立实体类和数据表之间的关联;
在属性名称上使用注解 @TableField(value = "数据表列名")
,建立属性名和数据表字段之间的关联。
package com.test.pojo;
@TableName(value = "user")
public class User {
@TableField(value = "id")
Integer id;
String username;
String gendar;
String remark;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getGendar() {
return gendar;
}
public void setGendar(String gendar) {
this.gendar = gendar;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + ''' +
", gendar='" + gendar + ''' +
", remark='" + remark + ''' +
'}';
}
}
5、创建 mapper 接口
创建 mapper 包,并在包下创建 UserMapper 接口。
该接口继承 BaseMapper 接口,并将 BaseMapper 接口的泛型替换为 实体类 的类名。
package com.test.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.test.pojo.User;
public interface UserMapper extends BaseMapper<User> {
}
6、在项目启动类中设置扫描目录
启动类前增加 MapperScan 注解,并在注解中指定需要进行扫描的目录:
因第5步创建的mapper在这个目录下:`com.test.mapper`,所以需要在注解后指定到该包的全路径即可。
package com.test;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.test.mapper")
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
7、配置数据库信息
7.1 添加配置文件
在项目下创建配置文件 application.yml,并配置数据库相关信息,数据库连接参数根据实际填写就行。
在程序执行过程中,如果我们想看到 MyBatisPlus 生成的SQL语句,可以在配置文件中增加以下内容,开启 SQL 日志的打印功能。
7.2 添加数据库依赖
在 pom.xml 中加入 mysql 数据库的驱动类
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
8、创建测试类
请注意测试类的包路径应与被测试类所在包路径相同。
根据id查询记录并输出到控制台
package com.test;
import com.test.mapper.UserMapper;
import com.test.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class TestUser {
@Autowired
UserMapper userMapper;
@Test
public void getUser(){
User user = userMapper.selectById(1);
System.out.println(user);
}
}
执行测试后输出内容如下:
User{id=1, username='admin', gendar='男', remark='管理员账号'}