From e7f83fb6952e2c9a579491afbd24e83e7261682b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?=
<15040126243@163.com>
Date: Mon, 6 Sep 2021 10:19:58 +0800
Subject: [PATCH] =?UTF-8?q?update=20mybatis-plus=203.4.3=20=3D>=203.4.3.3?=
=?UTF-8?q?=20=E9=80=82=E9=85=8D=E5=8D=87=E7=BA=A7=20(=E5=8C=85=E5=90=AB?=
=?UTF-8?q?=E4=B8=8D=E5=85=BC=E5=AE=B9=E5=8D=87=E7=BA=A7)=20=E8=AF=B7?=
=?UTF-8?q?=E8=AF=A6=E7=BB=86=E9=98=85=E8=AF=BB=20mybatis-plus=20=E5=AE=98?=
=?UTF-8?q?=E6=96=B9=E5=8D=87=E7=BA=A7=E6=96=87=E6=A1=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 2 +-
.../core/mybatisplus/core/ServicePlusImpl.java | 18 ++++++------------
.../demo/controller/TestBatchController.java | 2 +-
.../framework/config/MybatisPlusConfig.java | 5 +++--
.../ruoyi/system/service/ISysDeptService.java | 2 +-
.../ruoyi/system/service/ISysPostService.java | 2 +-
.../ruoyi/system/service/ISysRoleService.java | 2 +-
.../service/impl/SysDeptServiceImpl.java | 6 +++---
.../service/impl/SysMenuServiceImpl.java | 4 ++--
.../service/impl/SysPostServiceImpl.java | 2 +-
.../service/impl/SysRoleServiceImpl.java | 2 +-
.../service/impl/SysUserServiceImpl.java | 2 +-
12 files changed, 22 insertions(+), 27 deletions(-)
diff --git a/pom.xml b/pom.xml
index fd3bf341a..7bdd1674d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
2.2.10
1.7
0.9.1
- 3.4.3
+ 3.4.3.3
3.9.1
5.7.11
3.0.3
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java
index 543d097bd..e9c1f191e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java
@@ -7,14 +7,13 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import com.baomidou.mybatisplus.core.toolkit.Assert;
-import com.baomidou.mybatisplus.core.toolkit.ClassUtils;
+import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.page.PagePlus;
import com.ruoyi.common.utils.BeanCopyUtils;
import com.ruoyi.common.utils.reflect.ReflectUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.ResolvableType;
import java.io.Serializable;
import java.util.ArrayList;
@@ -50,7 +49,7 @@ public class ServicePlusImpl, T, V> extends ServiceI
return entityClass;
}
- protected Class mapperClass = currentMapperClass();
+ protected Class mapperClass = currentMapperClass();
protected Class voClass = currentVoClass();
@@ -59,22 +58,17 @@ public class ServicePlusImpl, T, V> extends ServiceI
}
@Override
- protected Class currentMapperClass() {
- return (Class) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(0).getType();
+ protected Class currentMapperClass() {
+ return (Class) ReflectionKit.getSuperClassGenericType(this.getClass(), ServicePlusImpl.class, 0);
}
@Override
protected Class currentModelClass() {
- return (Class) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(1).getType();
+ return (Class) ReflectionKit.getSuperClassGenericType(this.getClass(), ServicePlusImpl.class, 1);
}
protected Class currentVoClass() {
- return (Class) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(2).getType();
- }
-
- @Override
- protected ResolvableType getResolvableType() {
- return ResolvableType.forClass(ClassUtils.getUserClass(getClass()));
+ return (Class) ReflectionKit.getSuperClassGenericType(this.getClass(), ServicePlusImpl.class, 2);
}
/**
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java
index 2db996191..ef117a11c 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java
@@ -39,7 +39,7 @@ public class TestBatchController extends BaseController {
// @DataSource(DataSourceType.SLAVE)
public AjaxResult add() {
List list = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
+ for (int i = 0; i < 1000; i++) {
list.add(new TestDemo().setOrderNum(-1L).setTestKey("批量新增").setValue("测试新增"));
}
return toAjax(iTestDemoService.saveAll(list) ? 1 : 0);
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
index 719fd2ba5..dc2ff86af 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
+import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
@@ -106,8 +107,8 @@ public class MybatisPlusConfig {
public ISqlInjector sqlInjector() {
return new DefaultSqlInjector() {
@Override
- public List getMethodList(Class> mapperClass) {
- List methodList = super.getMethodList(mapperClass);
+ public List getMethodList(Class> mapperClass, TableInfo tableInfo) {
+ List methodList = super.getMethodList(mapperClass, tableInfo);
methodList.add(new InsertAll());
return methodList;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
index 5fd239e98..38bccc9c5 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
@@ -58,7 +58,7 @@ public interface ISysDeptService extends IService {
* @param deptId 部门ID
* @return 子部门数
*/
- public int selectNormalChildrenDeptById(Long deptId);
+ public long selectNormalChildrenDeptById(Long deptId);
/**
* 是否存在部门子节点
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
index f6659c054..3f9db85e8 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
@@ -69,7 +69,7 @@ public interface ISysPostService extends IService {
* @param postId 岗位ID
* @return 结果
*/
- public int countUserPostById(Long postId);
+ public long countUserPostById(Long postId);
/**
* 删除岗位信息
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
index 2cde2ae47..84e647891 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
@@ -101,7 +101,7 @@ public interface ISysRoleService extends IService {
* @param roleId 角色ID
* @return 结果
*/
- public int countUserRoleByRoleId(Long roleId);
+ public long countUserRoleByRoleId(Long roleId);
/**
* 新增保存角色信息
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
index 9ab848aea..cbafcf459 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -120,7 +120,7 @@ public class SysDeptServiceImpl extends ServicePlusImpl()
.eq(SysDept::getStatus, 0)
.apply("find_in_set({0}, ancestors)", deptId));
@@ -134,7 +134,7 @@ public class SysDeptServiceImpl extends ServicePlusImpl()
+ long result = count(new LambdaQueryWrapper()
.eq(SysDept::getParentId, deptId)
.last("limit 1"));
return result > 0;
@@ -148,7 +148,7 @@ public class SysDeptServiceImpl extends ServicePlusImpl()
+ long result = userMapper.selectCount(new LambdaQueryWrapper()
.eq(SysUser::getDeptId, deptId));
return result > 0;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
index a46d62c21..a1a9422a2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -226,7 +226,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl().eq(SysMenu::getParentId,menuId));
+ long result = count(new LambdaQueryWrapper().eq(SysMenu::getParentId,menuId));
return result > 0;
}
@@ -238,7 +238,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl().eq(SysRoleMenu::getMenuId,menuId));
+ long result = roleMenuMapper.selectCount(new LambdaQueryWrapper().eq(SysRoleMenu::getMenuId,menuId));
return result > 0;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
index 30d407540..3a3cd0f8f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
@@ -125,7 +125,7 @@ public class SysPostServiceImpl extends ServicePlusImpl().eq(SysUserPost::getPostId,postId));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index ae4bc89e8..eff0022ea 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -202,7 +202,7 @@ public class SysRoleServiceImpl extends ServicePlusImpl().eq(SysUserRole::getRoleId, roleId));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 7f1fc0d07..7e3182171 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -162,7 +162,7 @@ public class SysUserServiceImpl extends ServicePlusImpl().eq(SysUser::getUserName, userName).last("limit 1"));
+ long count = count(new LambdaQueryWrapper().eq(SysUser::getUserName, userName).last("limit 1"));
if (count > 0) {
return UserConstants.NOT_UNIQUE;
}