目录
2、乐观锁插件(当要更新一条记录的时候,希望这条记录没有被别人更新)
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、乐观锁插件(当要更新一条记录的时候,希望这条记录没有被别人更新)
乐观锁实现方式:
- 取出记录时,获取当前version
- 更新时,带上这个version
- 执行更新时, set version = newVersion where version = oldVersion
- 如果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>
===============&#