pom.xml
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.lagou</groupId><artifactId>mybatis</artifactId><version>0.0.1-SNAPSHOT</version><name>mybatis</name><description>Demo project for Spring Boot</description><properties><java.version>11</java.version></properties><dependencies><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><!-- !!!分页starter --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.3</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>8</source><target>8</target></configuration></plugin></plugins></build></project>
application.yml
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC&characterEncoding=UTF-8username: rootpassword: rootmybatis:configuration:map-underscore-to-camel-case: truetype-aliases-package: com.lagou.mybatis.entitiy#配置MyBatis的xml配置文件路径mapper-locations: classpath:mapper/*.xml# 分页配置pagehelper:helper-dialect: mysqlreasonable: truesupport-methods-arguments: trueparams: count=countSql
com/lagou/mybatis/MybatisApplication.java
package com.lagou.mybatis;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication// 配置 mappper扫描,省去每个mapper写 @Mapper注解@MapperScan("com.lagou.mybatis.mapper")public class MybatisApplication {public static void main(String[] args) {SpringApplication.run(MybatisApplication.class, args);}}
com/lagou/mybatis/entity/User.java
package com.lagou.mybatis.entity;import lombok.Data;import java.util.Date;@Datapublic class User {private Integer id;private String username;private Date birthday;private String sex;private String address;}
com/lagou/mybatis/mapper/UserMapper.java
package com.lagou.mybatis.mapper;import com.lagou.mybatis.entity.User;import java.util.List;public interface UserMapper {List<User> findAll();}
resoource/mapper/UserMapper.xml
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.lagou.mybatis.mapper.UserMapper"><!--查询所有--><select id="findAll" resultType="com.lagou.mybatis.entity.User">select * from user</select></mapper>
com/lagou/mybatis/MybatisApplicationTests.java
package com.lagou.mybatis;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.lagou.mybatis.entity.User;
import com.lagou.mybatis.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest
class MybatisApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void testPageHelper() {
PageHelper.startPage(1,1);
List<User> users = userMapper.findAll();
PageInfo<User> pageInfo = new PageInfo<>(users);
System.out.println("total:"+pageInfo.getTotal());
System.out.println("page num:"+pageInfo.getPageNum());
System.out.println("page size:"+pageInfo.getPageSize());
users.stream().forEach(System.out::println);
}
}
