电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Mybatis利用分頁插件PageHelper快速實現分頁查詢

瀏覽:134日期:2023-10-18 10:34:58
目錄前言首先創建一個Maven項目數據庫中創建一張表設置Mybatis配置文件編寫pojo實體類和mapper接口和mapper映射文件創建測試類總結前言

Mybatis算是對數據庫操作的利器了。但是在處理分頁的時候,Mybatis并沒有什么特別的方法,一般需要自己去寫limit子句實現,成本較高。好在有國內開發者寫了一個PageHelper插件,可以幫助我們快速實現分頁查詢。

官網地址

首先創建一個Maven項目

導入相關依賴:

<!-- 依賴列表--> <dependencies><!--mysql驅動--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version></dependency><!--單元測試--><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope></dependency><!--pageHelper依賴--><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.1</version></dependency><!--mybatis依賴--><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version></dependency><!--log4j日志依賴--><dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency> </dependencies>

記住導入PageHelper依賴:

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.2.1</version></dependency>數據庫中創建一張表

Mybatis利用分頁插件PageHelper快速實現分頁查詢

設置Mybatis配置文件

在resources目錄下,創建一個sqlMapConfig.xml文件,用于做一些全局的mybatis基本的配置,例如數據庫連接信息,事務,mapper映射文件路徑,日志實現,類的別名,也包含了分頁插件的基本配置。

<configuration><!--使用外部屬性配置文件 resource:指定類路徑下的某個屬性配置文件--><properties resource='db.properties' /><settings><!--日志的實現是LOG4J--><setting name='logImpl' value='LOG4J' /></settings> <!--聲明別名--><typeAliases><package name='com.ren.domain' /></typeAliases> <!--mybatis的插件配置--><plugins><!-- com.github.pagehelper為PageHelper類所在包名 --><plugin interceptor='com.github.pagehelper.PageInterceptor'><!-- 表示使用mysql的分頁方法 --><property name='helperDialect' value='mysql' /><!-- 表示當頁碼長度為0 的時候,就不進行分頁查詢 --><property name='pageSizeZero' value='true'/></plugin></plugins><!-- 配置連接數據庫四要素 --><environments default='dev'><environment id='dev'><transactionManager type='JDBC' /><dataSource type='POOLED'><property name='driver' value='${driverClassName}' /><property name='url' value='${url}' /><property name='username' value='${username}' /><property name='password' value='${password}' /></dataSource></environment></environments> <mappers><mapper resource='com/ren/mapper/StudentMapper.xml' /></mappers></configuration>編寫pojo實體類和mapper接口和mapper映射文件

Student實體類

package pojo;public class Student { private Integer id; private String name; private String email; private Integer age; public Student() { } public Student(Integer id, String name, String email, Integer age) {this.id = id;this.name = name;this.email = email;this.age = age; } public Integer getId() {return id; } public void setId(Integer id) {this.id = id; } public String getName() {return name; } public void setName(String name) {this.name = name; } public String getEmail() {return email; } public void setEmail(String email) {this.email = email; } public Integer getAge() {return age; } public void setAge(Integer age) {this.age = age; } @Override public String toString() {return 'Student{' +'id=' + id +', name=’' + name + ’’’ +', email=’' + email + ’’’ +', age=' + age +’}’; }}

mapper接口

package mapper;import pojo.Student;import java.util.List;public interface StudentMapper { //查詢所有學生 List<Student> selectAll();}

Mapper映射文件

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE mapperPUBLIC '-//mybatis.org//DTD Mapper 3.0//EN''http://mybatis.org/dtd/mybatis-3-mapper.dtd'><mapper namespace='mapper.StudentMapper'> <select resultType='pojo.Student'>select * from student order by id </select></mapper>

在sqlMapConfig文件中指定Mapper文件位置

<!-- mapper映射文件位置--><mappers><package name='mapper'/></mappers>

編寫MyBatisUtils

package utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;/** * 工具類:創建SqlSession對象 */public class MyBatisUtil { private static SqlSessionFactory factory = null; static {String config='sqlMapConfig.xml';try { InputStream inputStream =Resources.getResourceAsStream(config); factory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) { e.printStackTrace();} } //創建方法,獲取SqlSession對象 public static SqlSession getSqlSession(){SqlSession session = null;if( factory != null ){ session =factory.openSession();// openSession(true);}return session; }}創建測試類

import com.github.pagehelper.PageHelper;import mapper.StudentMapper;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import pojo.Student;import utils.MyBatisUtil;import java.util.List;public class pageHelper_Test { @Test public void PageHelperTest(){//獲取sqlSessionSqlSession sqlSession = MyBatisUtil.getSqlSession();//獲取mapper代理StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);//調用PageHelperPageHelper.startPage(2,2);//查詢所有學生List<Student> studentList = mapper.selectAll();//遍歷結果List集合studentList.forEach(student -> System.out.println(student));//關閉sqlSession對象sqlSession.close(); }}

查看結果

Mybatis利用分頁插件PageHelper快速實現分頁查詢

可以看到sql語句,在mapper文件中并沒有寫limit,pageHelper已經幫我們加上了limit關鍵字完成了查詢.OK了

總結

到此這篇關于Mybatis利用分頁插件PageHelper快速實現分頁查詢的文章就介紹到這了,更多相關Mybatis分頁插件PageHelper內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 机房监控|动环监控|动力环境监控系统方案产品定制厂家 - 迈世OMARA | 高压绝缘垫-红色配电房绝缘垫-绿色高压绝缘地毯-上海苏海电气 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 气动绞车,山东气动绞车,气动绞车厂家-烟台博海石油机械有限公司 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 吲哚菁绿衍生物-酶底物法大肠菌群检测试剂-北京和信同通科技发展有限公司 | 网站优化公司_SEO优化_北京关键词百度快速排名-智恒博网络 | 浇钢砖,流钢砖_厂家价低-淄博恒森耐火材料有限公司 | 致胜管家软件服务【在线免费体验】 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 隔爆型防爆端子分线箱_防爆空气开关箱|依客思 | 海德莱电力(HYDELEY)-无功补偿元器件生产厂家-二十年专业从事电力电容器 | 全自动实验室洗瓶机,移液管|培养皿|进样瓶清洗机,清洗剂-广州摩特伟希尔机械设备有限责任公司 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | NM-02立式吸污机_ZHCS-02软轴刷_二合一吸刷软轴刷-厦门地坤科技有限公司 | 盐水蒸发器,水洗盐设备,冷凝结晶切片机,转鼓切片机,絮凝剂加药系统-无锡瑞司恩机械有限公司 | 净气型药品柜-试剂柜-无管道净气型通风柜-苏州毕恩思 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 立式硫化罐-劳保用品硫化罐-厂家直销-山东鑫泰鑫硫化罐厂家 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | 食品级焦亚硫酸钠_工业级焦亚硫酸钠_焦亚硫酸钠-潍坊邦华化工有限公司 |