设为首页 收藏本站
查看: 1416|回复: 0

[经验分享] mybatis 通用分页插件和批量操作插件

[复制链接]

尚未签到

发表于 2016-11-27 08:53:02 | 显示全部楼层 |阅读模式

               Mybatis 分页插件使用手册 


 
 

一、插件配置

   spring 配置文件 中添加  数据库方言可选:mysql, mariadb, sqlite, oracle, hsqldb, postgresql, sqlserver2000, sqlserver2005,sqlserver2008, db2, informix,derby;
  
 
   

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- <property name="configLocation" value="classpath:mybatis.xml" /> -->
<property name="plugins">
<list>
<bean class="org.smile.mybatis.page.PageHelper">
<property name="properties">
<value>dialect =sqlserver2005</value>
</property>
</bean>
</list>
</property>
</bean>
 
 
参数说明   properties 的内容


dialect


数据库方言


STRING


   必选


默认


page


当前页参数名


STRING


 


page


pageSize


每页条数参数名


String


 


pageSize


countMethod


自定义count 方法参数名


String


 


countMethod


msCache


是否缓存mappedstatment


Boolean


 


true


paramPage


是否启用查询参数中添加分页参数的方式颁


boolean


 


false


 
 
 

二、插件使用方法

    插件两种主要使用方法
   
 


    1 使用 pagehelper 调用进行分页


 
    PageHelper.startPage(page,pageSize);
 
   这样是使用插件内置count 查询

Map<String, Object> queryMap = new HashMap<String, Object>();
//查询条件
queryMap.put("lifnr", lifnr.getLifnr());
queryMap.put("purCode", lifnr.getPurCode());
queryMap.put("deliveryDay", lifnr.getDeliveryDay());
PageHelper.startPage(page, fPage.getPageSize());
//总条数
PageModellist = (PageModel)lifnrDAO.queryLifnrList(queryMap);
 
 
 
 
 PageHelper.startPage(request);
 
 会从request中获取配置文件中配置的 page 对应参数的 pageSize 对应参数的值进行分页
 
 
PageHelper.startPage(page,pageSize,false); 
不使进行count 计算 
 
可以在方法参数中加入countMethod 对应参数指定自定义的mybatis count方法id 进行count 计算
 
 


2 使用方法参数中添加分页参数信息


 
paramPage 参数必须设置为true
<value> paramPage =true</value>
 
代码:
 

Map<String, Object> queryMap = new HashMap<String, Object>();
//查询条件
queryMap.put("lifnr", lifnr.getLifnr());
queryMap.put("purCode", lifnr.getPurCode());
queryMap.put("deliveryDay", lifnr.getDeliveryDay());
queryMap.put(PageHelper.getConfig().getPage(),page);
queryMap.put(PageHelper.getConfig().getPageSize(),pageSize);
//总条数
PageModellist = (PageModel)lifnrDAO.queryLifnrList(queryMap);
 
 


               Mybatis 批量插件使用手册 


 
 

一、插件配置

   spring 配置文件 中添加 
  
 
   

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- <property name="configLocation" value="classpath:mybatis.xml" /> -->
<property name="plugins">
<list>
<bean class="org.smile.mybatis.batch.BatchHelper">
<property name="properties">
<value>method=batchUpdate</value>
</property>
</bean>
</list>
</property>
</bean>
 
 
 
参数说明   properties 的内容


method


要使用批量操作插件的方法前匹配


STRING


 可选


batch


 
 
 

二、插件使用方法

  必须把方法名以配置中method 的值开头   如:配置的值为 method=batchUpdate
  那么方法必须以batchUpdate开头例子:
 
 

public int batchUpdatePerson(List<Person> persons);
 
 

<update id="batchUpdatePerson"  parameterType="java.util.List" >     
<!--
insert into  student(name,adress,age,id) values(#{name},#{adress},#{age}, #{id})     
delete from student where age=#{age} and id=#{id}
-->
update student set name =#{name} where id=#{id} and age=#{age}
</update>
 
 
 
可以支持 insert update delete 多种语句  返回更新数据条数
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-305998-1-1.html 上篇帖子: mybatis入门二之添加ehcache缓存支持 下篇帖子: Maven + SpringMVC + Mybatis【绝非原创,单纯整理】【四】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表