1.配置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> <groupId>com.sdjzu</groupId> <artifactId>demoa</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demoa</name> <description>demoa</description> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <spring-boot.version>2.6.13</spring-boot.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</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> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <configuration> <mainClass>com.sdjzu.demoa.DemoaApplication</mainClass> <skip>true</skip> </configuration> <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
2.配置application.yml文件
server: port:8080 spring: application: name: university datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis-flex username: root password: 123456 mybatis: configuration: map-underscore-to-camel-case: true mapper-locations: classpath:mapper/**/*Mapper.xml
3.进行数据库的连接
4.编写实体类
import lombok.Data; @Data public class Student { private int id; private String name; private String sex; private int age; private String grade; }
5.编写StudentMapper
import java.util.List; @Mapper public interface StudentMapper { // @Select("SELECT * FROM article_cat") List<Student> selectList(); }
6.编写StudentService接口
public interface StudentService { List<Student> selectList(); }
7.编写StudentServiceImp类继承接口
import java.util.List; @Service public class StudentServiceImple implements StudentService{ @Autowired StudentMapper studentMapper; @Override public List<Student> selectList() { return studentMapper.selectList(); } }
8.新建xml文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.sdjzu.demoa.mapper.StudentMapper"> <select id="selectList" resultType="com.sdjzu.demoa.entity.Student"> SELECT * FROM article_cat </select> </mapper>
9.编写测试类
package com.sdjzu.demoa; import com.sdjzu.demoa.entity.Student; import com.sdjzu.demoa.mapper.StudentMapper; import com.sdjzu.demoa.service.StudentService; 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 DemoaApplicationTests { @Autowired StudentService studentService; @Test void contextLoads() { } @Test void testSelectList(){ List<Student> students = studentService.selectList(); students.forEach(System.out::println); } private List<Student> pageByList(int currPage, int pageSize){ //查询全部数据 List<Student> courses = studentService.selectList(); //从第几条数据开始 int firstIndex = (currPage-1)*pageSize; //到第几条结束 int lastIndex = currPage*pageSize; //直接在List中截取 return courses.subList(firstIndex,lastIndex); } @Test public void TestGetPageCourseByList(){ //总记录共10条。假设总共分为4页,每页最多3条记录 System.out.println("===========================第二页记录为:====================="); List<Student> secondPage = pageByList(2,2); for (Student course : secondPage){ System.out.println(course); } System.out.println("===========================第四页记录为:====================="); List<Student> lastPage = pageByList(4,1); for (Student student : lastPage){ System.out.println(student); } } } 10.单元测试结果