简介

MyBatis-Plus 是一个 Mybatis 的增强工具,在 Mybatis的基础上只做增强不做修改。

配置

引入依赖

MyBatis-Plus 使用JDBC接口连接瀚高数据库,在数据库安装目录 interfaces/jdbc 下,可以获得。驱动包名称:hgdb-jdbc-x.xx.jar。该驱动包与PostgreSQL保持兼容,其中类名、类结构与 PostgreSQL 驱动完全一致,曾经运行于 PostgreSQL 的应用程序可以直接移植到当前系统使用。

如果是maven构建的项目,可以自行导入本地仓库添加依赖,示例:

#导入本地仓库
mvn install:install-file -Dfile=C:\Users\Lihq\Desktop\hgdb-jdbc-v9.0.jar
-DgroupId=com.highgo
-DartifactId=highgo-9.0.1-jdbc
-Dversion=1.0
-Dpackaging=Jar
<!--引入本地仓库依赖-->
<dependency>
<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus-boot-starter</artifactId>

<version>3.4.2</version>

</dependency>

<dependency>
<groupId>com.highgo</groupId>

<artifactId>highgo-9.0.1-jdbc</artifactId>

<version>1.0</version>

</dependency>

配置文件

application.properties

spring.datasource.username=highgo
spring.datasource.password=highgo
spring.datasource.url=jdbc:postgresql://192.168.33.8:5866/highgo
spring.datasource.driver-class-name=org.postgresql.Driver
定义Mapper 接口
package com.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pojo.User;
import org.springframework.stereotype.Repository;

@Repository
public interface UserMapper extends BaseMapper<User> {

}

数据分页 PaginationInnerInterceptor

SpringMVC
<bean id="paginationInnerInterceptor" class="com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor">
<constructor-arg name="dbType" value="postgresql"/>
</bean>

SpringBoot
public class MyBatisPlusConfig {

@Bean
public MybatisPlusInterceptor MybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL));//分页插件

return interceptor;
}
}
mybatis-config.xml
<plugins>
<plugin interceptor="com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor">
<property name="@page" value="com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor"/>
<property name="page:dbType" value="postgresql"/>
</plugin>

</plugins>

调用
// 参数一:当前页
// 参数二:页面大小
Page<User> page = new Page<>(2, 5);
userMapper.selectPage(page, null);
page.getRecords().forEach(System.out::println);