mybatis -- 12、mybatis-plus的插件、SQL注入器、公共字段填充

目录

 

6、插件

1、分页插件

2、乐观锁插件(当要更新一条记录的时候,希望这条记录没有被别人更新)

3、SQL执行分析插件,避免出现全表更新和删除

4、非法sql检查插件

7、SQL注入器

8、公共字段填充


6、插件

https://mp.baomidou.com/guide/auto-fill-metainfo.html

MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:

1、分页插件

在spring.xml文件中添加如下配置引入插件

<property name="plugins">
    <array数组>
        <bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor"></bean>
    </array>
</property>

编写测试类

   @Test
   public void TestPage(){
       Page page = new Page(2,2);
       Page page1 = empDao.selectPage(page, null);
       List records = page1.getRecords();
       for (Object record : records) {
           System.out.println(record);
      }
       System.out.println("==============");
       System.out.println("获取总条数:"+page.getTotal());
       System.out.println("当前页码:"+page.getCurrent());
       System.out.println("总页码:"+page.getPages());
       System.out.println("每页显示的条数:"+page.getSize());
       System.out.println("是否有上一页:"+page.hasPrevious());
       System.out.println("是否有下一页:"+page.hasNext());
  }

2、乐观锁插件(当要更新一条记录的时候,希望这条记录没有被别人更新)

乐观锁实现方式:

  1. 取出记录时,获取当前version
  2. 更新时,带上这个version
  3. 执行更新时, set version = newVersion where version = oldVersion
  4. 如果version不对,就更新失败

添加配置:

<bean class="com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor"</bean>

修改实体类添加version字段并在表中添加version字段

spring.xml

·
·
·
===============================================================================
//整合spring和mybatis
    <bean id="sqlSessionFactoryBean线程工厂豆" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        //<property name="configLocation配置位置" value="classpath类路径=:mybatis-config.xml"></property>
        //<property name="mapperLocations映射位置" value="classpath:com/mashibing/dao/*.xml"></property>
        <property name="configuration配置时间" ref="configuration配置时间"></property>
        <property name="globalConfig全局配置" ref="globalConfig全局配置"></property>
==================================== 添加 =====================================  
        <property name="plugins插件">
            <array数组>
                //分页插件
                <bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor分页拦截器"></bean>
                //乐观锁插件
                <bean class="com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor乐观锁拦截器"></bean>
            </array>
        </property>
     </bean>
===============================================================================
//设置下面方式时,可不使用mybatis-config.xml
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer映射扫描配置">
        <property name="basePackage基本包 " value="com.mashibing.dao"></property>
    </bean>
===============================================================================  
<bean id="configuration配置时间" class="com.baomidou.mybatisplus.core.MybatisConfiguration(mybatis配置时间)">
        <property name="mapUnderscoreToCamelCase驼峰标识" value="false"></property>

        <property name="logImpl" value="org.apache.ibatis.logging.log4j.Log4jImpl"></property>
    </bean>
===============================================================================  
    <bean id="globalConfig全局配置" class="com.baomidou.mybatisplus.core.config.GlobalConfig全局配置">
        <property name="banner广告" value="true"></property> 
        <property name="dbConfig" ref="dbConfig"></property>
    </bean>
===============&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值