From 5c7e8c538146049e63eff0a19be3c87511794a3d Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期四, 27 六月 2024 14:49:59 +0800
Subject: [PATCH] !553 优化获取用户账户 Merge pull request !553 from AprilWind/dev
---
ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java | 60 ++++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 38 insertions(+), 22 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java
index 1f36f04..3889250 100644
--- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java
@@ -6,12 +6,12 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
+import com.baomidou.mybatisplus.core.toolkit.reflect.GenericTypeUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.toolkit.Db;
-import org.dromara.common.core.utils.MapstructUtils;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
+import org.dromara.common.core.utils.MapstructUtils;
import java.io.Serializable;
import java.util.Collection;
@@ -35,11 +35,11 @@
Log log = LogFactory.getLog(BaseMapperPlus.class);
default Class<V> currentVoClass() {
- return (Class<V>) ReflectionKit.getSuperClassGenericType(this.getClass(), BaseMapperPlus.class, 1);
+ return (Class<V>) GenericTypeUtils.resolveTypeArguments(this.getClass(), BaseMapperPlus.class)[1];
}
default Class<T> currentModelClass() {
- return (Class<T>) ReflectionKit.getSuperClassGenericType(this.getClass(), BaseMapperPlus.class, 0);
+ return (Class<T>) GenericTypeUtils.resolveTypeArguments(this.getClass(), BaseMapperPlus.class)[0];
}
default List<T> selectList() {
@@ -50,49 +50,54 @@
* 鎵归噺鎻掑叆
*/
default boolean insertBatch(Collection<T> entityList) {
- return Db.saveBatch(entityList);
+ Db.saveBatch(entityList);
+ // 涓存椂瑙e喅 鏂扮増鏈� mp 鎻掑叆鐘舵�佸垽鏂敊璇棶棰�
+ return true;
}
/**
* 鎵归噺鏇存柊
*/
default boolean updateBatchById(Collection<T> entityList) {
- return Db.updateBatchById(entityList);
+ Db.updateBatchById(entityList);
+ // 涓存椂瑙e喅 鏂扮増鏈� mp 鎻掑叆鐘舵�佸垽鏂敊璇棶棰�
+ return true;
}
/**
* 鎵归噺鎻掑叆鎴栨洿鏂�
*/
default boolean insertOrUpdateBatch(Collection<T> entityList) {
- return Db.saveOrUpdateBatch(entityList);
+ Db.saveOrUpdateBatch(entityList);
+ // 涓存椂瑙e喅 鏂扮増鏈� mp 鎻掑叆鐘舵�佸垽鏂敊璇棶棰�
+ return true;
}
/**
* 鎵归噺鎻掑叆(鍖呭惈闄愬埗鏉℃暟)
*/
default boolean insertBatch(Collection<T> entityList, int batchSize) {
- return Db.saveBatch(entityList, batchSize);
+ Db.saveBatch(entityList, batchSize);
+ // 涓存椂瑙e喅 鏂扮増鏈� mp 鎻掑叆鐘舵�佸垽鏂敊璇棶棰�
+ return true;
}
/**
* 鎵归噺鏇存柊(鍖呭惈闄愬埗鏉℃暟)
*/
default boolean updateBatchById(Collection<T> entityList, int batchSize) {
- return Db.updateBatchById(entityList, batchSize);
+ Db.updateBatchById(entityList, batchSize);
+ // 涓存椂瑙e喅 鏂扮増鏈� mp 鎻掑叆鐘舵�佸垽鏂敊璇棶棰�
+ return true;
}
/**
* 鎵归噺鎻掑叆鎴栨洿鏂�(鍖呭惈闄愬埗鏉℃暟)
*/
default boolean insertOrUpdateBatch(Collection<T> entityList, int batchSize) {
- return Db.saveOrUpdateBatch(entityList, batchSize);
- }
-
- /**
- * 鎻掑叆鎴栨洿鏂�(鍖呭惈闄愬埗鏉℃暟)
- */
- default boolean insertOrUpdate(T entity) {
- return Db.saveOrUpdate(entity);
+ Db.saveOrUpdateBatch(entityList, batchSize);
+ // 涓存椂瑙e喅 鏂扮増鏈� mp 鎻掑叆鐘舵�佸垽鏂敊璇棶棰�
+ return true;
}
default V selectVoById(Serializable id) {
@@ -144,11 +149,22 @@
return selectVoOne(wrapper, this.currentVoClass());
}
+ default V selectVoOne(Wrapper<T> wrapper, boolean throwEx) {
+ return selectVoOne(wrapper, this.currentVoClass(), throwEx);
+ }
+
/**
* 鏍规嵁 entity 鏉′欢锛屾煡璇竴鏉¤褰�
*/
default <C> C selectVoOne(Wrapper<T> wrapper, Class<C> voClass) {
- T obj = this.selectOne(wrapper);
+ return selectVoOne(wrapper, voClass, true);
+ }
+
+ /**
+ * 鏍规嵁 entity 鏉′欢锛屾煡璇竴鏉¤褰�
+ */
+ default <C> C selectVoOne(Wrapper<T> wrapper, Class<C> voClass, boolean throwEx) {
+ T obj = this.selectOne(wrapper, throwEx);
if (ObjectUtil.isNull(obj)) {
return null;
}
@@ -182,12 +198,12 @@
* 鍒嗛〉鏌ヨVO
*/
default <C, P extends IPage<C>> P selectVoPage(IPage<T> page, Wrapper<T> wrapper, Class<C> voClass) {
- IPage<T> pageData = this.selectPage(page, wrapper);
- IPage<C> voPage = new Page<>(pageData.getCurrent(), pageData.getSize(), pageData.getTotal());
- if (CollUtil.isEmpty(pageData.getRecords())) {
+ List<T> list = this.selectList(page, wrapper);
+ IPage<C> voPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
+ if (CollUtil.isEmpty(list)) {
return (P) voPage;
}
- voPage.setRecords(MapstructUtils.convert(pageData.getRecords(), voClass));
+ voPage.setRecords(MapstructUtils.convert(list, voClass));
return (P) voPage;
}
--
Gitblit v1.9.3