`

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

 

 

分享到:
评论

相关推荐

    集成Mybatis分页插件和通用Mapper的示例项目

    而Mybatis的分页插件和通用Mapper是两个常用的扩展,它们极大地提高了开发效率。在这个示例项目中,我们将深入探讨如何集成这两个组件。 **一、Mybatis分页插件** Mybatis分页插件,如PageHelper,是Mybatis的一个...

    基于Java的Mybatis通用Mapper插件.zip

    Mybatis通用Mapper插件是一个基于Mybatis的增强工具,旨在简化数据库操作,提高开发效率。它通过提供通用的CRUD操作接口,减少了手动编写SQL语句的工作量,同时保留了Mybatis的原生特性。 主要功能模块 代码生成...

    spring boot+mybatis+pagehelp分布+通用mapper

    【通用Mapper】则是一个用于MyBatis的插件,它提供了基础的CRUD操作,包括增删查改和批量操作,极大地提高了开发效率。通用Mapper通过注解或XML配置,可以快速实现基本的数据库操作,减少了大量重复的代码编写。 在...

    Mybatis增强工具包(Mybatis plus) v3.5.3.2.zip

    内置了分页插件,可以方便地实现分页查询,支持多种数据库的分页方式,如 MySQL、Oracle 等,使用 `Page` 对象进行分页参数设置和结果接收。 6. **主键生成策略**: 提供了多种主键生成策略,包括 Identity(自动...

    java分页插件valuelist

    Java 分页插件Valuelist是一款用于Java Web开发中的实用工具,主要目的是为了在处理大量数据时提高性能和用户体验,通过高效地分页显示数据,避免一次性加载所有数据导致内存压力过大。Valuelist源码的分析对于理解...

    mybatis-plus源码(mybatis-plus-3.5.1.zip)

    6. **分页插件**:集成PageHelper分页插件,可以方便地实现物理分页和逻辑分页。 7. **乐观锁**:通过在表中增加一个版本号字段,实现乐观锁,避免并发问题。 8. **自定义全局配置**:可以全局配置一些参数,如...

    Mybatis plus 尚硅谷笔记

    Mybatis Plus 提供了内置的通用 mapper 和 service,可以减少开发者的工作量。 2. Lambda 表达式方便编写各种查询条件 Mybatis Plus 支持 Lambda 表达式,可以方便地编写各种查询条件。 3. 支持主键自动生成 Mybatis...

    mybatis_plus_2.9.1

    5. **分页查询**:MyBatis Plus内置了分页插件,可以轻松实现物理分页和逻辑分页,只需要在全局配置中开启,并设置对应的分页参数,即可在查询时自动实现分页效果。 6. **批量操作**:支持批量插入、更新数据,提高...

    mybatis_plus 2.456

    4. **分页查询**:内建了通用的分页插件,支持多种数据库的分页功能,简化了分页查询的实现。 5. **实体继承**:在设计数据库模型时,可以通过继承来复用公共字段,使得数据表结构更加清晰。 6. **填充实体对象**...

    mybatis-plus-3.0.rar

    - **分页插件**: 提供了PaginationInterceptor分页插件,支持多种数据库的物理分页,只需几行代码即可实现高效分页查询。 - **ID生成器**: 支持多种ID生成策略,如雪花算法、全局唯一ID(UUID)等。 2. **性能...

    mybatis_plus easycode

    MyBatis Plus(简称MP)是MyBatis的扩展插件,它简化了对数据库的基本操作,如 CRUD(创建、读取、更新、删除)以及批量操作。EasyCode则是一种代码生成工具,可以帮助开发者快速生成基于MyBatis Plus的Controller、...

    mybatisplus-spring-boot_mybatis-plus整合_shiro_plus_

    MP 的主要特性包括:自动 CRUD 生成、条件构造器、批量操作、分页插件、性能分析等。 Spring Boot 是基于 Spring 框架的一个快速开发工具,它简化了新 Spring 应用的初始搭建以及开发过程。Spring Boot 通过默认...

    使用mybatis plus快速生成sql

    MyBatis Plus(简称MP)是MyBatis的扩展插件,主要目的是简化MyBatis的常规操作,提供更便捷的SQL构建方式。在实际的项目开发中,它能够极大地提高开发效率,尤其是在处理大量的数据库CRUD操作时。本文将详细介绍...

    mybatis-plus-demo.zip

    其主要特性包括:无 XML 配置,提供 Insert、Update、Delete、Select 等方法,支持 Lambda 表达式,支持自定义全局通用操作,支持分页插件等。 3. **集成步骤** - 引入依赖:在 `pom.xml` 文件中添加 MyBatis-Plus...

    允许完全摆脱Mapper的mybatis-plus体验!可以使用类似“工具类”这样的静态函数进行数据库操作

    5. **分页插件**:MyBatis-Plus内置了PageHelper分页插件,可以自动进行物理或逻辑分页,避免了手动编写分页SQL的麻烦。 6. **自定义全局配置**:可以根据项目需求自定义全局配置,如主键策略、填充策略、异常处理...

    导出EXCEL,分页及连接oracle的jar包

    PageHelper是MyBatis的优秀分页插件,它实现了通用的分页功能,简化了在开发过程中对数据进行分页显示的复杂性。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。而PageHelper与MyBatis无缝...

    源码分析专题之Mybatis课程一1

    - MyBatis 提供了分页插件 PageHelper,它可以实现通用的分页功能。在 XML 映射文件中,通过 PageHelper 的标签进行分页设置,例如 `limit` 和 `offset`。 - 在 Java 代码中,需要对 SQLExecutor 进行拦截,以便在...

Global site tag (gtag.js) - Google Analytics