- 3
- 0
- 约4.45万字
- 约 23页
- 2017-06-07 发布于湖北
- 举报
HYPERLINK /z_dendy/article/details/9063719 springMVC、myBatis的物理分页和高级查询
分类: HYPERLINK /z_Dendy/article/category/1316005 JavaEE 2013-06-09 13:44 797人阅读 HYPERLINK /z_dendy/article/details/9063719 \l comments 评论(4) HYPERLINK javascript:void(0); \o 收藏 收藏 HYPERLINK /z_dendy/article/details/9063719 \l report \o 举报 举报
HYPERLINK /tag/springMVC \t _blank springMVC HYPERLINK /tag/mybatis \t _blank mybatis HYPERLINK /tag/%e9%ab%98%e7%ba%a7%e6%9f%a5%e8%af%a2 \t _blank 高级查询 HYPERLINK /tag/%e5%88%86%e9%a1%b5 \t _blank 分页 HYPERLINK /tag/ajax \t _blank ajax
最新项目用到springMVC和mybatis,分页其实用一个RowBounds可以实现,但是高级查询不好封装, 经过反复测试,总算搞出来了,感觉封装的不是很好,有待优化和提高!
原理:利用mybatis自定义插件功能,自定义一个拦截器,拦截需要分页的sql,并想办法通过BoundSql对象进行处理,大致分8步:
1、获得BoundSql对象
2、获取原始的写在配置文件中的SQL
3、拦截到mapper中定义的执行查询方法中的参数
4、解析参数,获取高级查询参数信息
5、解析参数,获取查询限制条件
6、根据4、5中的参数拼装并重新生成SQL语句
7、将SQL设置回BoundSql对象中
8、完成。
拦截器:
[java] HYPERLINK /z_dendy/article/details/9063719 \o view plain view plain HYPERLINK /z_dendy/article/details/9063719 \o copy copy HYPERLINK /z_dendy/article/details/9063719 \o print print HYPERLINK /z_dendy/article/details/9063719 \o ? ?
package?erceptor;??
??
import?java.sql.Connection;??
import?java.sql.PreparedStatement;??
import?java.sql.ResultSet;??
import?java.sql.SQLException;??
import?java.util.List;??
import?java.util.Map;??
import?java.util.Properties;??
import?java.util.Set;??
??
import?javax.xml.bind.PropertyException;??
??
import?org.apache.ibatis.executor.ErrorContext;??
import?org.apache.ibatis.executor.ExecutorException;??
import?org.apache.ibatis.executor.statement.BaseStatementHandler;??
import?org.apache.ibatis.executor.statement.RoutingStatementHandler;??
import?org.apache.ibatis.executor.statement.StatementHandler;??
import?org.apache.ibatis.mapping.BoundSql;??
import?org.apache.ibatis.mapping.MappedStatement;??
import?org.apache.ibatis.mapping.ParameterMapping;??
import?org.apache.ibatis.mapping.ParameterMode;??
import?org.apache.ibatis.plugin.Interceptor
您可能关注的文档
- 数据库范式理解例题要领.doc
- 数据库范式设计(专题)要领.ppt
- S7-200PLC和PC自由口通讯的多种实现方法,.doc
- S7-200SMART PLC的通信和自动化通信网络.pptx
- 数据库访问方法——LINQ要领.ppt
- S7-300PLC编程技术与基本指令.ppt
- 数据库访问方法要领.doc
- 数据库复习资料要领.pdf
- s7-300plc及s120DP通讯.docx
- 数据库概论模拟考试试卷与答案B.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 肺隔离症诊疗指南(2025年版).docx
- 2021届贵州省遵义市高三年级第一次统考物理试卷含答案.pdf VIP
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末考试物理试题(解析版).docx VIP
- 2025年山西省中考数学备考全指南(知识点归纳,必考知识点、真题模拟试卷及解析).docx VIP
- 心血管疾病的风险评估与管理课件.pptx VIP
- 离婚协议书(2026官方标准版).docx VIP
- HG_T 3706-2014 工业用孔网钢骨架聚乙烯复合管.doc VIP
- 湖北省学位英语考试真题2023.pdf VIP
- 船舶焊接 垂直气电焊 垂直气电焊.ppt VIP
- 2024湖北省学位英语考试真题及答案.docx VIP
原创力文档

文档评论(0)