页面好看的蛋糕网站北京网页游戏制作

张小明 2026/1/10 2:26:44
页面好看的蛋糕网站,北京网页游戏制作,做网站的会什么,遵义网约车有哪些平台在分页场景中#xff0c;不同数据库的分页语法差异很大 —— 比如 MySQL 用LIMIT#xff0c;而Oracle 12c 开始支持更灵活的OFFSET ... FETCH语法。今天结合 PageHelper#xff0c;分享如何在 Spring Boot 中适配 Oracle 12c 的分页方式。 一、PageHelper 基础#xff1a;…在分页场景中不同数据库的分页语法差异很大 —— 比如 MySQL 用LIMIT而Oracle 12c 开始支持更灵活的OFFSET ... FETCH语法。今天结合 PageHelper分享如何在 Spring Boot 中适配 Oracle 12c 的分页方式。一、PageHelper 基础引入与自动配置首先在 Spring Boot 中引入 PageHelper 依赖以 Maven 为例dependency groupIdcom.github.pagehelper/groupId artifactIdpagehelper-spring-boot-starter/artifactId version1.4.7/version !-- 建议用最新稳定版 -- /dependency dependency groupIdcom.github.jsqlparser/groupId artifactIdjsqlparser/artifactId version4.6/version !-- 适配SQL解析的版本 -- /dependencySpring Boot 会自动配置 PageHelper无需额外代码二、核心自定义 Oracle 12c 分页方言PageHelper 默认的 Oracle 方言用的是ROWNUM语法适配旧版本而 Oracle 12c 支持更简洁的OFFSET ... FETCH。我们需要自定义方言重写分页 SQL 生成逻辑。步骤 1编写 Oracle 12c 方言类继承AbstractHelperDialect实现getPageSql方法拼接OFFSET ... FETCH语法Component public class Oracle12cDialect extends AbstractHelperDialect { // 注册方言别名后续配置用 static { PageAutoDialect.registerDialectAlias(oracle12c, Oracle12cDialect.class); } Override public String getPageSql(String sql, Page page, CacheKey pageKey) { StringBuilder sqlBuilder new StringBuilder(sql.length() 40); sqlBuilder.append(sql); // 拼接Oracle 12c的分页语法OFFSET 跳过行数 FETCH NEXT 取行数 ROWS ONLY int offset page.getStartRow(); int limit page.getPageSize(); sqlBuilder.append( OFFSET ).append(offset).append( ROWS FETCH NEXT ).append(limit).append( ROWS ONLY); pageKey.update(offset); pageKey.update(limit); return sqlBuilder.toString(); } Override public Object processPageParameter(MappedStatement ms, MapString, Object paramMap, Page page, BoundSql boundSql) { // 这里无需额外参数OFFSET/FETCH直接拼接在SQL中返回原参数即可 return paramMap; } }步骤 2配置方言在application.properties中指定使用自定义的oracle12c方言# 指定Oracle 12c方言 pagehelper.helper-dialectoracle12c # 分页合理化pageNum0查第1页pageNum总页数查最后一页 pagehelper.reasonabletrue # 支持通过Mapper接口传分页参数 pagehelper.support-methods-argumentstrue三、使用示例一行代码实现分页在 Service 层调用PageHelper.startPage后续 MyBatis 查询会自动拼接 Oracle 12c 的分页 SQLService public class UserServiceImpl implements UserService { Autowired private UserMapper userMapper; Override public PageUser listUsers(int pageNum, int pageSize) { // 1. 开启分页pageNum页码pageSize每页条数 PageHelper.startPage(pageNum, pageSize); // 2. 执行查询自动拼接OFFSET ... FETCH ListUser userList userMapper.selectAll(); // 3. 包装为Page对象包含总条数、分页信息 return new PageInfo(userList).toPage(); } }四、对比Oracle 旧版与 12c 分页语法旧版ROWNUM需要嵌套子查询语法繁琐SELECT * FROM ( SELECT t.*, ROWNUM rn FROM (SELECT * FROM user) t WHERE ROWNUM 20 ) WHERE rn 10Oracle 12cOFFSET/FETCH简洁直观PageHelper 通过自定义方言自动生成SELECT * FROM user OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY通过自定义 PageHelper 方言就能让 MyBatis 完美适配 Oracle 12c 的现代分页语法啦完整 Oracle 12c 分页 DemoSpringBootMyBatisPageHelper
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站办事服务建设情况网站建设与管理课程的目标

BewlyCat:重新定义你的B站主页体验 【免费下载链接】BewlyCat BewlyCat——基于BewlyBewly开发 项目地址: https://gitcode.com/gh_mirrors/be/BewlyCat 还在为B站主页杂乱无章的界面而烦恼吗?BewlyCat这款开源工具或许正是你需要的解决方案。它基…

张小明 2026/1/7 22:52:49 网站建设

wordpress 知名网站开发网站找什么公司

软件开发学习之旅:核心主题与关键原则 1. 软件开发学习的困境与解决方案 对于软件开发者来说,无论是初出茅庐的新手,还是经验丰富的老手,掌握软件开发都像是跨越一座难以逾越的高山。面对众多需要学习的内容,如面向对象世界中的 SOLID 原则、设计模式、测试驱动开发,以…

张小明 2026/1/7 22:52:52 网站建设

郑州网站建设微信小程序网页制作素材照片和文案

PowerShell安全与对比:从入门到精通 1. PowerShell安全相关知识 安全在计算机操作中至关重要,它是确保计算机在无危险或损失风险下运行的机制。需要明确的是,安全并不等同于密码学及其相关技术,虽然这些工具可用于构建安全系统。基本的威胁建模和STRIDE方法是重要的安全分…

张小明 2026/1/7 22:52:50 网站建设

东莞seo建站费用最新wordpress知更鸟

第一章:Open-AutoGLM 开源地址与项目概览Open-AutoGLM 是一个基于开源理念构建的自动化语言模型工具链项目,旨在为开发者提供轻量级、可扩展的 GLM 系列模型集成与应用框架。该项目由社区驱动,支持多种自然语言处理任务,包括文本生…

张小明 2026/1/7 22:52:51 网站建设

杭州最好的网站设计公司绍兴网站建设方案服务

第一章:为什么90%的智能预警系统都失败了?在智能制造、金融风控和物联网监控等领域,智能预警系统被寄予厚望。然而现实中,超过90%的系统在上线后半年内失去有效性,甚至成为“数字摆设”。其根本原因并非技术不足&#…

张小明 2026/1/7 17:35:02 网站建设

建网站备案需要的材料网站内页收录

Sigil查找替换工具是EPUB电子书编辑中不可或缺的强大武器,它为文本处理提供了前所未有的效率和精确度。无论你是新手还是经验丰富的编辑,掌握这些工具都能让你的工作事半功倍。🎯 【免费下载链接】Sigil Sigil is a multi-platform EPUB eboo…

张小明 2026/1/7 22:52:55 网站建设