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>
<dependency>
<groupId>mysql
</groupId>
<artifactId>mysql-connector-java
</artifactId>
<version>5.1.49
</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot
</groupId>
<artifactId>mybatis-spring-boot-starter
</artifactId>
<version>2.1.3
</version>
</dependency>
<dependency>
<groupId>org.springframework.boot
</groupId>
<artifactId>spring-boot-starter-jdbc
</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok
</groupId>
<artifactId>lombok
</artifactId>
</dependency>
<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
;
@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
;
@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
<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. 运行测试