国内做网站哪家公司好设计培训培训网站建设

张小明 2026/1/11 12:32:21
国内做网站哪家公司好,设计培训培训网站建设,淘宝客网站建设公司,西安有什么好玩的好吃的在分页场景中#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进行投诉反馈,一经查实,立即删除!

建立网站需要多少钱 纠正错误湖南岚鸿广安 网站建设

移动互联网的快速轻量级带宽测试 在移动互联网环境中,准确且快速地进行带宽测试至关重要。本文将介绍一种名为FastBTS的带宽测试方法,它通过多种创新机制实现了快速、准确的带宽测试。 1. 快速结果生成 FastBTS旨在尽快选择一组与上限函数 (T(x)) 拟合良好的样本,同时确保…

张小明 2026/1/8 8:04:47 网站建设

做阿里网站卖东西赚钱达州做淘宝网站

终极自动化神器:零代码打造个人效率助手 【免费下载链接】PuloversMacroCreator Automation Utility - Recorder & Script Generator 项目地址: https://gitcode.com/gh_mirrors/pu/PuloversMacroCreator 在快节奏的工作环境中,你是否经常感到…

张小明 2026/1/1 6:02:30 网站建设

企业门户网站的建设方法网站建设的主要功能及定位

TranslucentTB启动失败?终极修复指南全解析 【免费下载链接】TranslucentTB 项目地址: https://gitcode.com/gh_mirrors/tra/TranslucentTB TranslucentTB作为一款广受欢迎的Windows任务栏透明化工具,近期有用户反馈在Windows 11更新后出现了启动…

张小明 2025/12/31 3:25:17 网站建设

素材网站视频wordpress如何加表情

iOS个性化探索之旅:用Cowabunga Lite重塑你的设备界面 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite 厌倦了千篇一律的iOS界面?想要在不越狱的情况下为你的iPhone注入…

张小明 2025/12/30 7:32:30 网站建设

有哪些网站是拐角型绘图软件

各位技术同仁,下午好!今天,我们齐聚一堂,将共同深入探讨Node.js这一高性能运行时环境的核心机制。Node.js以其异步、非阻塞的I/O模型而闻名,这使得它在处理高并发网络请求时表现出色。然而,其内部的工作原理…

张小明 2026/1/4 23:21:37 网站建设

四川省建设网站评标专家考试链接提取视频的网站

前端新手必看:彻底搞懂CSS继承三剑客——inherit、initial与unset前端新手必看:彻底搞懂CSS继承三剑客——inherit、initial与unset被“幽灵样式”吓到?其实是继承在作怪inherit:把老爸的银行卡直接抢过来场景 1:让 in…

张小明 2026/1/7 3:39:03 网站建设