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 多种语句 返回更新数据条数