springboot植入pagerHelper的超详细教程
程序员文章站
2022-03-19 14:54:39
简介前面个已经讲过mybatis的批量更新操作。批量操作还有时分页查询,针对项目的完善性,来讲解一下分页工具的植入pagerhelper和tk.mybatis使用。其实官网已经有具体代码,代价有空可以...
简介
前面个已经讲过mybatis的批量更新操作。批量操作还有时分页查询,针对项目的完善性,来讲解一下分页工具的植入pagerhelper和tk.mybatis使用。其实官网已经有具体代码,代价有空可以多多参考官网操作。链接地址mybatis-spring-boot
技术方案
maven jar导入
查看官方说明引入依赖,如下:
<!--mybatis--> <dependency> <groupid>org.mybatis.spring.boot</groupid> <artifactid>mybatis-spring-boot-starter</artifactid> <version>1.3.1</version> </dependency> <!--mapper--> <dependency> <groupid>tk.mybatis</groupid> <artifactid>mapper-spring-boot-starter</artifactid> <version>1.2.4</version> </dependency> <!--pagehelper--> <dependency> <groupid>com.github.pagehelper</groupid> <artifactid>pagehelper-spring-boot-starter</artifactid> <version>1.2.3</version> </dependency>
maven plugin配置
引入完jar依赖之后,配置plugin插件,插件时根据maven来识别的,可以直接拷贝官网的配置即可,如下:
<plugin> <groupid>org.mybatis.generator</groupid> <artifactid>mybatis-generator-maven-plugin</artifactid> <version>1.3.2</version> <configuration> <configurationfile>${basedir}/src/main/resources/generator/generatorconfig.xml</configurationfile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> <dependencies> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>${mysql.version}</version> </dependency> <dependency> <groupid>tk.mybatis</groupid> <artifactid>mapper-generator</artifactid> <version>1.0.0</version> </dependency> </dependencies> </plugin>
配置generatorconfig.xml
根据自己喜欢,可以定制化配置generatorconfig.xml,下面是我个人基本配置,更多配置说明,请查看官方说明mybatis generator 详解
<?xml version="1.0" encoding="utf-8"?> <!doctype generatorconfiguration public "-//mybatis.org//dtd mybatis generator configuration 1.0//en" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorconfiguration> <properties resource="generator/application-dev.properties"/> <context id="mysql" targetruntime="mybatis3simple" defaultmodeltype="flat"> <property name="beginningdelimiter" value="`"/> <property name="endingdelimiter" value="`"/> <plugin type="tk.mybatis.mapper.generator.mapperplugin"> <property name="mappers" value="com.lgh.common.util.mymapper"/> </plugin> <jdbcconnection driverclass="${spring.datasource.driver-class-name}" connectionurl="${spring.datasource.url}" userid="${spring.datasource.username}" password="${spring.datasource.password}"> </jdbcconnection> <javamodelgenerator targetpackage="com.lgh.model" targetproject="src/main/java"/> <sqlmapgenerator targetpackage="mapper" targetproject="src/main/resources"/> <javaclientgenerator targetpackage="com.lgh.mapper" targetproject="src/main/java" type="xmlmapper"/> <!-- 数据库表 以及实体类命名 --> <!-- <table schema="cl_demo" tablename="tb_user" domainobjectname="user" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false" selectbyexamplequeryid="false" /> <table schema="cl_demo" tablename="tb_role" domainobjectname="role" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false" selectbyexamplequeryid="false" /> <table schema="cl_demo" tablename="tb_menu" domainobjectname="menu" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false" selectbyexamplequeryid="false" /> <table schema="cl_demo" tablename="tb_resource" domainobjectname="resource" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false" selectbyexamplequeryid="false" /> <table schema="cl_demo" tablename="user_role" domainobjectname="userrole" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false" selectbyexamplequeryid="false" /> <table schema="cl_demo" tablename="role_menu" domainobjectname="rolemenu" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false" selectbyexamplequeryid="false" /> <table schema="cl_demo" tablename="menu_resource" domainobjectname="menuresource" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false" selectbyexamplequeryid="false" /> <table schema="cl_demo" tablename="role_resource" domainobjectname="roleresource" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false" selectbyexamplequeryid="false" /> <table schema="cl_demo" tablename="logon" domainobjectname="logon" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false" selectbyexamplequeryid="false" />--> </context> </generatorconfiguration>
测试样例
点击mybatis-generator:generate即可生成对象和映射文件,具体如上图
一般分页个人喜好建议用jdk8的lambda表达式,如:
//对应的lambda用法
更多请查看官网分页使用方式
pageinfo = pagehelper.startpage(1, 10).doselectpageinfo(() -> usermapper.selectgroupby());,
总结&反思
基本操作对象,我们不要再手动一个一个的写啦,直接用mybatis插件生成。基本curd不要再自己编写xml,直接用tk.mysql操作即可。一对多情况,分页无法实现谨慎使用
源码地址
到此这篇关于springboot植入pagerhelper的文章就介绍到这了,更多相关springboot植入pagerhelper内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: 浅谈Java实现分布式事务的三种方案
推荐阅读
-
CentOS6.4 下安装SVN的详细教程(超详细)
-
玩转Apple Watch超详细的设置教程
-
强烈推荐,超详细,实操零失误:node.js安装 + npm安装教程 + Vue开发环境搭建 【非原创,但是用生命推荐的转载】
-
deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)
-
一篇超详细的Vue-Router手把手教程
-
女生怎样化妆好看,超详细的化妆步骤教程
-
AI超详细教程:手把手教你绘制复古风的初代游戏掌机
-
Python中使用Beautiful Soup库的超详细教程
-
SpringBoot整合Spring Security的详细教程
-
python中spy++的使用超详细教程