mybatis集成mybatis-plus

mybatis集成mybatis-plus

1.添加注解

		 <dependency>
              <groupId>com.baomidou</groupId>
              <artifactId>mybatis-plus-boot-starter</artifactId>
              <version>3.5.3.1</version>
          </dependency>

2.修改配置信息

原本的mybatis 修改成 mybatis-plus

3.修改配置文件

1.注释或删除,原本的MyBatisConfig文件
2.添加MybatisPlusConfig配置文件

import cn.hutool.core.net.NetUtil;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
* @author xxx
* @date 2023/4/17
* @copyright ©2023/4/17
* @description MybatisPlus 配置
*/
@EnableTransactionManagement(proxyTargetClass = true)
@Configuration
public class MybatisPlusConfig
{
   @Bean
   public MybatisPlusInterceptor mybatisPlusInterceptor()
   {
       MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
       // 分页插件
       interceptor.addInnerInterceptor(paginationInnerInterceptor());
       // 乐观锁插件
       interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
       // 阻断插件
       interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
       return interceptor;
   }

   /**
    * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
    */
   public PaginationInnerInterceptor paginationInnerInterceptor()
   {
       PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
       // 设置数据库类型为mysql
       paginationInnerInterceptor.setDbType(DbType.MYSQL);
       // 设置最大单页限制数量,默认 500 条,-1 不受限制
       paginationInnerInterceptor.setMaxLimit(-1L);
       return paginationInnerInterceptor;
   }

   /**
    * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
    */
   public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
   {
       return new OptimisticLockerInnerInterceptor();
   }

   /**
    * 使用网卡信息绑定雪花生成器
    * 防止集群雪花ID重复
    */
   @Bean
   public IdentifierGenerator idGenerator() {
       return new DefaultIdentifierGenerator(NetUtil.getLocalhost());
   }

   /**
    * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
    */
   public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
   {
       return new BlockAttackInnerInterceptor();
   }
}

4.测试

1、继承BaseMapper

public interface SysNoticeMapper extends BaseMapper<SysNotice>
{
}

2.引用

 public int insertNotice(SysNotice notice)
   {
       return noticeMapper.insert(notice);
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值