pom依赖
<parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.6.1</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--达梦数据库依赖--> <dependency> <groupId>com.dameng</groupId> <artifactId>Dm8JdbcDriver18</artifactId> <version>8.1.1.49</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.83</version> </dependency> </dependencies>
配置文件
spring: datasource: driver-class-name: dm.jdbc.driver.DmDriver url: jdbc:dm://127.0.0.1:5236/SYSDBA?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true username: SYSDBA password: SYSDBA mybatis-plus: # global-config: # db-config: # # 表名前缀 # table-prefix: tb_ # # id生成策略 数据库自增 # id-type: auto configuration: #开启日志 这样可以再控制台查看sql的语句 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
启动类
package com.thq; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.thq.mapper") public class DmPageApplicaiton { public static void main(String[] args) { SpringApplication.run(DmPageApplicaiton.class); } }
domin
package com.thq.domin; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; @TableName("SYSDBA.STUDENT") @Data @NoArgsConstructor @AllArgsConstructor public class Student { private Integer id; private String name; private Integer age; //@DateTimeFormat(pattern = "yyyy/MM/dd") /* 插入数据时候 时间转换*/ //@JSONField(format="yyyy/MM/dd") /** 使用fastjson 用他转换字符串 就悔把这个时间格式转换 */ private Date stime; }
mapper
public interface StudentMapper extends BaseMapper<Student> { }
mybatis plus 分页插件配置类
package com.thq.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; //Spring boot方式 @Configuration @MapperScan("com.baomidou.cloud.service.*.mapper*") public class MybatisPlusConfig { //// 旧版 //@Bean //public PaginationInterceptor paginationInterceptor() { // PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); // // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false // // paginationInterceptor.setOverflow(false); // // 设置最大单页限制数量,默认 500 条,-1 不受限制 // // paginationInterceptor.setLimit(500); // // 开启 count 的 join 优化,只针对部分 left join // paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true)); // return paginationInterceptor; //} // 最新版 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2)); return interceptor; } }
测试类
import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.thq.DmPageApplicaiton; import com.thq.domin.Student; import com.thq.mapper.StudentMapper; 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(classes = DmPageApplicaiton.class) public class NiTest { @Autowired StudentMapper studentMapper; @Test public void t1(){ Student student = studentMapper.selectById(2); System.out.println(student); } @Test public void t2() { Page<Student> page = new Page<>(3, 2); studentMapper.selectPage(page, null); List<Student> records = page.getRecords(); System.out.println(records); } }