mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	【缺陷修复】全局:完善对 SQLServer 2015 的兼容性
This commit is contained in:
		@@ -6,8 +6,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.pojo.SortablePageParam;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.pojo.SortingField;
 | 
			
		||||
import cn.iocoder.yudao.framework.mybatis.core.enums.SqlConstants;
 | 
			
		||||
import cn.iocoder.yudao.framework.mybatis.core.util.JdbcUtils;
 | 
			
		||||
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.DbType;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
			
		||||
@@ -22,7 +22,6 @@ import org.apache.ibatis.annotations.Param;
 | 
			
		||||
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Objects;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 在 MyBatis Plus 的 BaseMapper 的基础上拓展,提供更多的能力
 | 
			
		||||
@@ -151,7 +150,7 @@ public interface BaseMapperX<T> extends MPJBaseMapper<T> {
 | 
			
		||||
     */
 | 
			
		||||
    default Boolean insertBatch(Collection<T> entities) {
 | 
			
		||||
        // 特殊:SQL Server 批量插入后,获取 id 会报错,因此通过循环处理
 | 
			
		||||
        if (Objects.equals(SqlConstants.DB_TYPE, DbType.SQL_SERVER)) {
 | 
			
		||||
        if (JdbcUtils.isSQLServer(SqlConstants.DB_TYPE)) {
 | 
			
		||||
            entities.forEach(this::insert);
 | 
			
		||||
            return CollUtil.isNotEmpty(entities);
 | 
			
		||||
        }
 | 
			
		||||
@@ -166,7 +165,7 @@ public interface BaseMapperX<T> extends MPJBaseMapper<T> {
 | 
			
		||||
     */
 | 
			
		||||
    default Boolean insertBatch(Collection<T> entities, int size) {
 | 
			
		||||
        // 特殊:SQL Server 批量插入后,获取 id 会报错,因此通过循环处理
 | 
			
		||||
        if (Objects.equals(SqlConstants.DB_TYPE, DbType.SQL_SERVER)) {
 | 
			
		||||
        if (JdbcUtils.isSQLServer(SqlConstants.DB_TYPE)) {
 | 
			
		||||
            entities.forEach(this::insert);
 | 
			
		||||
            return CollUtil.isNotEmpty(entities);
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package cn.iocoder.yudao.framework.mybatis.core.util;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.spring.SpringUtils;
 | 
			
		||||
import cn.iocoder.yudao.framework.mybatis.core.enums.DbTypeEnum;
 | 
			
		||||
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
 | 
			
		||||
@@ -58,4 +59,25 @@ public class JdbcUtils {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 判断 JDBC 连接是否为 SQLServer 数据库
 | 
			
		||||
     *
 | 
			
		||||
     * @param url JDBC 连接
 | 
			
		||||
     * @return 是否为 SQLServer 数据库
 | 
			
		||||
     */
 | 
			
		||||
    public static boolean isSQLServer(String url) {
 | 
			
		||||
        DbType dbType = getDbType(url);
 | 
			
		||||
        return isSQLServer(dbType);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 判断 JDBC 连接是否为 SQLServer 数据库
 | 
			
		||||
     *
 | 
			
		||||
     * @param url JDBC 连接
 | 
			
		||||
     * @return 是否为 SQLServer 数据库
 | 
			
		||||
     */
 | 
			
		||||
    public static boolean isSQLServer(DbType dbType) {
 | 
			
		||||
        return ObjectUtils.equalsAny(dbType, DbType.SQL_SERVER, DbType.SQL_SERVER2005);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user