简介
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);
|