当前位置:   article > 正文

若依框架整合mybatis-plus_若依集成mybatisplus

若依集成mybatisplus

目录

前言

一、Mybaits-Plus

二、使用步骤

1.修改pom.xml文件

2.修改application.yml文件

3.修改MyBatisConfig

总结


前言

mybatis-plus会自动生成CURD的一些基础,方便快速开发使用,若依框架本身使用的是mybaits,打算将若依框架升级mybaits-plus.


一、Mybaits-Plus

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

二、使用步骤

1.修改pom.xml文件

项目根程序下的pom.xml文件修改

  1. <!-- mybatis plus -->
  2. <dependency>
  3. <groupId>com.baomidou</groupId>
  4. <artifactId>mybatis-plus-boot-starter</artifactId>
  5. <version>${mybatis-plus.version}</version>
  6. </dependency>
  7. <!-- pagehelper 分页插件 -->
  8. <dependency>
  9. <groupId>com.github.pagehelper</groupId>
  10. <artifactId>pagehelper-spring-boot-starter</artifactId>
  11. <version>${pagehelper.boot.version}</version>
  12. <exclusions>
  13. <exclusion>
  14. <groupId>org.mybatis</groupId>
  15. <artifactId>mybatis</artifactId>
  16. </exclusion>
  17. </exclusions>
  18. </dependency>

子模块 ruoyi-common下的pom.xml

  1. <!-- mybatis-plus -->
  2. <dependency>
  3. <groupId>com.baomidou</groupId>
  4. <artifactId>mybatis-plus-boot-starter</artifactId>
  5. </dependency>

2.修改application.yml文件

ruoyi-admin子模块下的yml配置文件

  1. # MyBatis
  2. #mybatis:
  3. # # 搜索指定包别名
  4. # typeAliasesPackage: com.ruoyi.**.domain
  5. # # 配置mapper的扫描,找到所有的mapper.xml映射文件
  6. # mapperLocations: classpath*:mapper/**/*Mapper.xml
  7. # # 加载全局的配置文件
  8. # configLocation: classpath:mybatis/mybatis-config.xml
  9. # MyBatis Plus配置
  10. mybatis-plus:
  11. # 搜索指定包别名
  12. typeAliasesPackage: com.adlot.**.domain
  13. # 配置mapper的扫描,找到所有的mapper.xml映射文件
  14. mapperLocations: classpath*:mapper/**/*Mapper.xml
  15. # 加载全局的配置文件
  16. configLocation: classpath:mybatis/mybatis-config.xml

3.修改MyBatisConfig

屏蔽掉ruoyi-framework下MyBaitsConfig.java的代码

  1. import com.adlot.framework.handler.CustomTenantLineHandler;
  2. import com.baomidou.mybatisplus.annotation.DbType;
  3. import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
  4. import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
  5. import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
  6. import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
  7. import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.context.annotation.Bean;
  10. import org.springframework.context.annotation.Configuration;
  11. import org.springframework.transaction.annotation.EnableTransactionManagement;
  12. /**
  13. * Mybatis Plus 配置
  14. *
  15. * @author ruoyi
  16. */
  17. @EnableTransactionManagement(proxyTargetClass = true)
  18. @Configuration
  19. public class MybatisPlusConfig
  20. {
  21. @Autowired
  22. private CustomTenantLineHandler customTenantLineHandler;
  23. @Bean
  24. public MybatisPlusInterceptor mybatisPlusInterceptor()
  25. {
  26. MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
  27. // 多租户插件(注意:这个一定要放在最上面)
  28. //interceptor.addInnerInterceptor(new TenantLineInnerInterceptor(customTenantLineHandler));
  29. // 分页插件
  30. interceptor.addInnerInterceptor(paginationInnerInterceptor());
  31. // 乐观锁插件
  32. interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
  33. // 阻断插件
  34. interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
  35. return interceptor;
  36. }
  37. /**
  38. * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
  39. */
  40. public PaginationInnerInterceptor paginationInnerInterceptor()
  41. {
  42. PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
  43. // 设置数据库类型为mysql
  44. paginationInnerInterceptor.setDbType(DbType.MYSQL);
  45. // 设置最大单页限制数量,默认 500 条,-1 不受限制
  46. paginationInnerInterceptor.setMaxLimit(-1L);
  47. return paginationInnerInterceptor;
  48. }
  49. /**
  50. * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
  51. */
  52. public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
  53. {
  54. return new OptimisticLockerInnerInterceptor();
  55. }
  56. /**
  57. * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
  58. */
  59. public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
  60. {
  61. return new BlockAttackInnerInterceptor();
  62. }
  63. }

总结

就这样可以了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/401879
推荐阅读
相关标签
  

闽ICP备14008679号