Mybatis分页实现中的几个注意点
来源:互联网 发布:豚丫丫这款软件好吗 编辑:程序博客网 时间:2024/06/07 22:55
前面的话:使用拦截器给Mybatis进行分页的教程在网上有很多,这里记录的主要是我在使用的时候中间走的弯路,记录下来,也好给后面想要学习Mybatis分页拦截的小伙伴们提供点帮助。
1. 拦截器获取参数,判断是否有Page类
- 1) 使用ThreadLocal 获取
//获取ThreadLocalprivate static ThreadLocal<Page> pageLocal = new ThreadLocal<Page>();private Page getPage() { return pageLocal.get();}
- 2) 从boundsql里面获取
BoundSql boundSql = delegate.getBoundSql();Object parameterObject = boundSql.getParameterObject();Page page = this.getPage(parameterObject);private Page getPage(Object parameterObject) { Page page = null; if (parameterObject instanceof Page) { page = (Page) parameterObject; } else if (parameterObject instanceof Map) { for (Object val : ((Map<?, ?>) parameterObject).values()) { if (val instanceof Page) { page = (Page) val; } } } return page; }
2. 重载plugin方法
@Overridepublic Object plugin(Object target) { if (target instanceof StatementHandler) { return Plugin.wrap(target, this); } else { return target; }}
3. DAO层方法传参
当带有Page类作为参数时(同传入多个参数)
- java 代码
public List<Blog> list(@Param(value="params")Map<String, Object> params,Page page);
- xml 配置
<select id="list" resultMap="resultMap"> SELECT * FROM t_xxx WHERE <if test="params.id != null and params.id != ''"> AND id = #{params.id,jdbcType=VARCHAR} </if></select>
阅读全文
1 0
- Mybatis分页实现中的几个注意点
- 【MyBatis-03】几个注意点
- Mybatis 中的注意点
- EL 表达式学习中的 几个注意点。
- java中的几个循环的注意点
- React 开发中的几个注意点
- Oracle实现分页的注意点
- PathAppend几个注意点
- 数据库分页注意点
- mybatis注意点
- mybatis二级缓存注意点
- Mybatis学习注意点
- listview实现分页加载数据的注意点
- %rowtype的几个注意点
- XHTML的几个注意点
- %rowtype的几个注意点
- hpple使用几个注意点
- %rowtype的几个注意点 .
- 学生信息管理系统总结1安装SQL server
- 关于zsh的一些配置
- python web后台 技术栈
- Java中String、StringBuffer和StringBuilder的区别
- vb.net窗体位于屏幕中间
- Mybatis分页实现中的几个注意点
- NoClassDefFoundError: org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer09
- vue调用jquery click
- mongodb常用命令
- 2016noipDay1
- Java复习笔记+经验总结-02 面向对象基础
- SUMMARY OF BASIC ALGORITHMS
- 视觉直观感受 7 种常用的排序算法
- 视觉直观感受 7 种常用的排序算法