liulin
2024-07-30 ce04dfcdd664df7e791a63800cab2cd2d12e878c
适配mybatis-plus
已删除15个文件
已添加5个文件
已重命名1个文件
4606 ■■■■■ 文件已修改
src/main/java/com/lunhan/xxx/common/orm2/ColumnBuilder.java 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/SqlBuilder.java 430 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/SqlUtil.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/enums/ColumnBasic.java 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/enums/EnumBuildType.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/enums/EnumCondition.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/enums/EnumSqlType.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/gencolumn/GenColumnMySql.java 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/models/SqlCondition.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/models/SqlParameter.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/repository/BasicDao.java 827 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/repository/BasicMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/repository/BasicMapperImpl.java 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/repository/BasicPO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/repository/DaoConfig.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/repository/columns/ETestInfo.java 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/repository/dao/TestInfoDao.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/repository/imapper/TestInfoMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/repository/mapper/TestInfoMapperImpl.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/service/convert/TestInfoConvert.java 补丁 | 查看 | 原始文档 | blame | 历史
src/test/java/com/lunhan/xxx/host/GenCodeMySQL.java 1939 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lunhan/xxx/common/orm2/ColumnBuilder.java
文件已删除
src/main/java/com/lunhan/xxx/common/orm2/SqlBuilder.java
文件已删除
src/main/java/com/lunhan/xxx/common/orm2/SqlUtil.java
文件已删除
src/main/java/com/lunhan/xxx/common/orm2/enums/ColumnBasic.java
文件已删除
src/main/java/com/lunhan/xxx/common/orm2/enums/EnumBuildType.java
文件已删除
src/main/java/com/lunhan/xxx/common/orm2/enums/EnumCondition.java
文件已删除
src/main/java/com/lunhan/xxx/common/orm2/enums/EnumSqlType.java
文件已删除
src/main/java/com/lunhan/xxx/common/orm2/gencolumn/GenColumnMySql.java
文件已删除
src/main/java/com/lunhan/xxx/common/orm2/models/SqlCondition.java
文件已删除
src/main/java/com/lunhan/xxx/common/orm2/models/SqlParameter.java
文件已删除
src/main/java/com/lunhan/xxx/repository/BasicDao.java
文件已删除
src/main/java/com/lunhan/xxx/repository/BasicMapper.java
对比新文件
@@ -0,0 +1,4 @@
package com.lunhan.xxx.repository;
public interface BasicMapper {
}
src/main/java/com/lunhan/xxx/repository/BasicMapperImpl.java
对比新文件
@@ -0,0 +1,260 @@
package com.lunhan.xxx.repository;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.lunhan.xxx.common.enums.ELogger;
import com.lunhan.xxx.common.enums.EResultCode;
import com.lunhan.xxx.common.enums.EYesOrNo;
import com.lunhan.xxx.common.exceptions.BusinessException;
import com.lunhan.xxx.common.util.LoggerUtil;
import org.apache.ibatis.session.ResultHandler;
import org.slf4j.Logger;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.Table;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
 * 数据访问 实现类
 *
 * @param <T> 数据实体
 */
public class BasicMapper<T> {
    protected BaseMapper<T> DB;
    protected Class<T> clazz;
    protected String tableName;
    protected static final Logger logger = LoggerUtil.get(ELogger.SQL_LOG);
    /**
     * 构造方法
     */
    public BasicMapper(BaseMapper<T> db) {
        this.clazz = (Class<T>) (
                (ParameterizedType) getClass().getGenericSuperclass()
        ).getActualTypeArguments()[0];
        this.DB = db;
        Table annotation = clazz.getAnnotation(Table.class);
        if (null == annotation) {
            return;
        }
        this.tableName = annotation.name();
    }
    public LambdaQueryWrapper<T> query() {
        return Wrappers.lambdaQuery();
    }
    public UpdateWrapper<T> update() {
        return Wrappers.update();
    }
    public int insert(T entity) {
        return DB.insert(entity);
    }
    public int deleteById(T entity) {
        return DB.deleteById(entity);
    }
    public int delete(Wrapper<T> queryWrapper) {
        return DB.delete(queryWrapper);
    }
    public int updateById(T entity) {
        return DB.updateById(entity);
    }
    public int update(T entity, Wrapper<T> updateWrapper) {
        return DB.update(entity, updateWrapper);
    }
    public T selectById(Serializable id) {
        return DB.selectById(id);
    }
    public List<T> selectBatchIds(Collection<? extends Serializable> idList) {
        return DB.selectBatchIds(idList);
    }
    public void selectBatchIds(Collection<? extends Serializable> idList, ResultHandler<T> resultHandler) {
        DB.selectBatchIds(idList, resultHandler);
    }
    public Long selectCount(Wrapper<T> queryWrapper) {
        return DB.selectCount(queryWrapper);
    }
    public List<T> selectList(Wrapper<T> queryWrapper) {
        return DB.selectList(queryWrapper);
    }
    public void selectList(Wrapper<T> queryWrapper, ResultHandler<T> resultHandler) {
        DB.selectList(queryWrapper, resultHandler);
    }
    public List<T> selectList(IPage<T> page, Wrapper<T> queryWrapper) {
        return DB.selectList(page, queryWrapper);
    }
    public void selectList(IPage<T> page, Wrapper<T> queryWrapper, ResultHandler<T> resultHandler) {
        DB.selectList(page, queryWrapper, resultHandler);
    }
    public List<Map<String, Object>> selectMaps(Wrapper<T> queryWrapper) {
        return DB.selectMaps(queryWrapper);
    }
    public void selectMaps(Wrapper<T> queryWrapper, ResultHandler<Map<String, Object>> resultHandler) {
        DB.selectMaps(queryWrapper, resultHandler);
    }
    public List<Map<String, Object>> selectMaps(IPage<? extends Map<String, Object>> page, Wrapper<T> queryWrapper) {
        return DB.selectMaps(page, queryWrapper);
    }
    public void selectMaps(IPage<? extends Map<String, Object>> page, Wrapper<T> queryWrapper, ResultHandler<Map<String, Object>> resultHandler) {
        DB.selectMaps(page, queryWrapper, resultHandler);
    }
    public <E> List<E> selectListObject(Wrapper<T> queryWrapper) {
        return DB.selectObjs(queryWrapper);
    }
    public <E> void selectListObject(Wrapper<T> queryWrapper, ResultHandler<E> resultHandler) {
        DB.selectObjs(queryWrapper, resultHandler);
    }
    /**
     * 根据条件获取数据实体列表
     *
     * @param queryWrapper 查询条件
     */
    @Transactional(readOnly = true)
    protected List<T> getList(Wrapper<T>... queryWrapper) {
        return DB.selectList(queryWrapper.length > 0 ? queryWrapper[0] : null);
    }
    /**
     * 条件查询单个数据实体
     *
     * @param queryWrapper 查询条件
     */
    @Transactional(readOnly = true)
    protected T get(Wrapper<T> queryWrapper) {
        String method = "BasicDao.Wrapper<T> queryWrapper";
        try {
            return DB.selectOne(queryWrapper);
        } catch (EmptyResultDataAccessException e) {
            logger.error(method, e);
            return null;
        } catch (Exception e) {
            logger.error(method + ", 发生异常", e);
            throw new BusinessException(EResultCode.ERROR, "BasicDao.get(SqlBuilder builder)发生异常." + e.getMessage());
        }
    }
    /**
     * 根据传入sql查询数据
     *
     * @param queryWrapper 查询条件
     */
    public List<Map<String, Object>> getMap(Wrapper<T> queryWrapper) {
        return DB.selectMaps(queryWrapper);
    }
    /**
     * 查询记录条数
     *
     * @param queryWrapper 查询条件
     */
    public Long getCount(Wrapper<T> queryWrapper) {
        return DB.selectCount(queryWrapper);
    }
    /**
     * 根据主键id删除数据
     *
     * @param id 主键id
     * @return 是否成功
     */
    public Boolean remove(Long id) {
        int rowCount = DB.deleteById(id);
        if (rowCount > 0) {
            return Boolean.TRUE;
        }
        return Boolean.FALSE;
    }
    /**
     * 根据主键id删除数据
     *
     * @param listId id列表
     * @return 是否成功
     */
    public Boolean remove(List<Long> listId) {
        int rowCount = DB.deleteByIds(listId);
        if (rowCount > 0) {
            return Boolean.TRUE;
        }
        return Boolean.FALSE;
    }
    /**
     * 根据条件删除数据
     *
     * @param queryWrapper 查询条件
     */
    protected Boolean remove(Wrapper<T> queryWrapper) {
        int rowCount = DB.delete(queryWrapper);
        if (rowCount > 0) {
            return Boolean.TRUE;
        }
        return Boolean.FALSE;
    }
    /**
     * 根据主键id逻辑删除数据(逻辑删除)
     *
     * @param id 主键id
     * @return 是否成功
     */
    public Boolean deleteLogic(Long id) {
        UpdateWrapper<T> where = Wrappers.update();
        where.set("is_delete", EYesOrNo.YES.getValue());
        where.eq("id", id);
        int rowCount = DB.update(where);
        if (rowCount > 0) {
            return Boolean.TRUE;
        }
        return Boolean.FALSE;
    }
    /**
     * 根据逐渐删除数据(逻辑删除)
     *
     * @param listId id列表
     * @return 是否成功
     */
    public Boolean deleteLogic(List<Long> listId) {
        UpdateWrapper<T> where = Wrappers.update();
        where.set("is_delete", EYesOrNo.YES.getValue());
        where.in("id", listId);
        int rowCount = DB.update(where);
        if (rowCount > 0) {
            return Boolean.TRUE;
        }
        return Boolean.FALSE;
    }
}
src/main/java/com/lunhan/xxx/repository/BasicPO.java
对比新文件
@@ -0,0 +1,6 @@
package com.lunhan.xxx.repository;
import java.io.Serializable;
public class BaiscDao implements Serializable {
}
src/main/java/com/lunhan/xxx/repository/DaoConfig.java
文件已删除
src/main/java/com/lunhan/xxx/repository/columns/ETestInfo.java
文件已删除
src/main/java/com/lunhan/xxx/repository/dao/TestInfoDao.java
文件已删除
src/main/java/com/lunhan/xxx/repository/imapper/TestInfoMapper.java
对比新文件
@@ -0,0 +1,4 @@
package com.lunhan.xxx.repository.imapper;
public interface TestInfoMapper {
}
src/main/java/com/lunhan/xxx/repository/mapper/TestInfoMapperImpl.java
对比新文件
@@ -0,0 +1,127 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.lunhan.xxx.repository.dao;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lunhan.xxx.common.PagerResult;
import com.lunhan.xxx.common.enums.EYesOrNo;
import com.lunhan.xxx.common.util.ListUtil;
import com.lunhan.xxx.common.util.NumericUtil;
import com.lunhan.xxx.common.util.StringUtil;
import com.lunhan.xxx.entity.dto.OrderByDTO;
import com.lunhan.xxx.entity.dto.search.SearchTestInfo;
import com.lunhan.xxx.entity.enums.EOrderBy;
import com.lunhan.xxx.repository.BasicDao;
import com.lunhan.xxx.repository.po.TestInfoPO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
 * 测试信息 数据访问类
 * @author lin.liu
 * @description 测试信息 数据访问类
 * @date 2021/11/23
 */
@Repository
public class TestInfoDao extends BasicDao<TestInfoPO> {
//    TestInfoDao() {
//        super(ETestInfo.values());
//    }
    public Boolean removeByListId(List<Long> listId) {
        return super.deleteLogic(listId);
    }
    public PagerResult<TestInfoPO> search(SearchTestInfo search) {
        // 查询条件
        LambdaQueryWrapper<TestInfoPO> queryWrapper = this.query();
        // 非逻辑删除
        queryWrapper.eq(TestInfoPO::getIsDelete, EYesOrNo.NO.getValue());
        // 状态
        queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, TestInfoPO::getStatus, search.getStatus());
        // 状态列表
        queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), TestInfoPO::getStatus, search.getListStatus());
        // 数据创建时间-起始
        queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, TestInfoPO::getCreateTime, search.getCreateTimeStart());
        // 数据创建时间-截止
        queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, TestInfoPO::getCreateTime, search.getCreateTimeEnd());
        // 关键字
        if (StringUtil.isNotNullOrEmpty(search.getKeywords())) {
            queryWrapper.and(q ->
                q.like(TestInfoPO::getName, search.getKeywords())
                .or().like(TestInfoPO::getPhone, search.getKeywords())
            );
        }
        // 排序处理
        if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) {
            for (OrderByDTO item : search.getOrderBy()) {
                EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy());
                // 顺序排序
                if (item.getIsAsc()) {
                    switch (orderBy) {
                        // 主键
                        case ID:
                            queryWrapper.orderByAsc(TestInfoPO::getId);
                            break;
                        // 数据创建时间
                        case CREATE_TIME:
                            queryWrapper.orderByAsc(TestInfoPO::getCreateTime);
                            break;
                        // 最后更新时间
                        case UPDATE_TIME:
                            queryWrapper.orderByAsc(TestInfoPO::getUpdateTime);
                            break;
                    }
                } else {
                    // 倒叙排序
                    switch (orderBy) {
                        // 主键
                        case ID:
                            queryWrapper.orderByAsc(TestInfoPO::getId);
                            break;
                        // 数据创建时间
                        case CREATE_TIME:
                            queryWrapper.orderByAsc(TestInfoPO::getCreateTime);
                            break;
                        // 最后更新时间
                        case UPDATE_TIME:
                            queryWrapper.orderByAsc(TestInfoPO::getUpdateTime);
                            break;
                    }
                }
            }
        } else {
            queryWrapper.orderByDesc(TestInfoPO::getId);
        }
        return super.getPageList(new Page<>(search.getPage(), search.getLimit()), queryWrapper);
    }
    public List<TestInfoPO> getListById(List<Long> listId) {
        return super.db.selectBatchIds(listId);
    }
}
src/main/java/com/lunhan/xxx/service/convert/TestInfoConvert.java
src/test/java/com/lunhan/xxx/host/GenCodeMySQL.java
文件已删除