鸬鹚洲 发表于 2016-11-27 08:53:02

mybatis 通用分页插件和批量操作插件


               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 intostudent(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]
查看完整版本: mybatis 通用分页插件和批量操作插件