springboot 整合mybaitsplus和達夢資料庫分頁
準備資料

搭建springboot
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);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/500176.html
標籤:其他
下一篇:Python詞頻分析
