SpringBoot整合MyBatis

tech2025-08-12  13

1. 准备数据库环境

# 新建用户表 CREATE TABLE IF NOT EXISTS `user`( `id` INT AUTO_INCREMENT, `username` VARCHAR(20) NOT NULL, `birthday` DATETIME NOT NULL, `sex` CHAR(1) NOT NULL, `address` VARCHAR(200) NOT NULL, `password` VARCHAR(20) NOT NULL, CONSTRAINT pk_user PRIMARY KEY(`id`) ); # 添加用户数据 INSERT INTO `user`(`username`, `birthday`, `sex`, `address`, `password`) VALUES ('周瑜', '2020-09-04', '男', '吴国', '123456'), ('关羽', '2020-09-04', '男', '蜀国', '654321');

2. 新建SpringBoot工程

3. 项目依赖

<dependencies> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.49</version> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <!-- jdbc --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!-- test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> </dependencies>

4. SpringBoot配置文件

spring: # 数据源 datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/test?useSSL=false username: root password: root logging: # 日志级别 level: zw: springboot: mapper: debug

5. 用户实体类

package zw.springboot.domain; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * @className UserDO * @description 用户实体类 * @author 周威 * @date 2020-09-04 9:38 **/ @Data public class UserDO implements Serializable { /* 用户编号 */ private Integer id; /* 用户姓名 */ private String username; /* 用户密码 */ private String password; /* 用户生日 */ private Date birthday; /* 用户性别 */ private String sex; /* 用户住址 */ private String address; }

6. 用户持久层接口

package zw.springboot.mapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import zw.springboot.domain.UserDO; import java.util.List; /** * @className UserMapper * @description 用户持久层接口 * @author 周威 * @date 2020-09-04 9:41 **/ @Mapper public interface UserMapper { @Select("select * from user") List<UserDO> listUserInformations(); }

7. 用户持久层测试类

package zw.springboot; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import zw.springboot.domain.UserDO; import zw.springboot.mapper.UserMapper; import java.util.List; @SpringBootTest class SpringbootApplicationTest { @Autowired private UserMapper userMapper; @Test public void listUserInformationsTest() { List<UserDO> users = userMapper.listUserInformations(); for (UserDO user : users) { System.out.println("user = " + user); } } }

8. 运行测试

9. 整合PageHelper

<!-- pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> </dependency>

10. SpringBoot配置文件

pagehelper: # 开启分页 helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql

11. 分页测试类

package zw.springboot; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import zw.springboot.domain.UserDO; import zw.springboot.mapper.UserMapper; import java.util.List; @SpringBootTest class SpringbootApplicationTest { @Autowired private UserMapper userMapper; @Test public void listUserInformationsByPageTest() { PageHelper.startPage(1,5); List<UserDO> users = userMapper.listUserInformations(); PageInfo<UserDO> pageInfo = new PageInfo<>(users); System.out.println("pageInfo = " + pageInfo); } }

12. 运行测试

最新回复(0)