This commit is contained in:
2023-07-04 17:53:04 +08:00
parent 065b60f851
commit 8be13f00a4
24 changed files with 417 additions and 135 deletions

View File

@ -13,10 +13,16 @@
<result property="sort" column="sort"/>
</resultMap>
<select id="selectListByTableName" resultMap="DbTableColumnVoResult">
<select id="selectDbColumnList" resultMap="DbTableColumnVoResult">
select column_name, (case when (is_nullable = 'no' <![CDATA[ && ]]> column_key != 'PRI') then '1' else null end) as is_required, (case when column_key = 'PRI' then '1' else '0' end) as is_pk, ordinal_position as sort, column_comment, column_type
from information_schema.columns where table_schema = (select database()) and table_name = (#{tableName})
order by ordinal_position
</select>
<delete id="deleteByTableIds">
delete from generator_table_column where table_id in
<foreach collection="list" item="tableId" open="(" separator="," close=")">
#{tableId}
</foreach>
</delete>
</mapper>

View File

@ -15,8 +15,8 @@
<if test="dto.dbType=='MySQL'.toString()">
select table_name, table_comment, create_time, update_time from information_schema.tables
where table_schema = (select database())
AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'gen_%'
AND table_name NOT IN (select table_name from gen_table)
AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'generator_%'
AND table_name NOT IN (select table_name from generator_table)
<if test="dto.tableName != null and dto.tableName != ''">
AND lower(table_name) like lower(concat('%', #{dto.tableName}, '%'))
</if>
@ -34,7 +34,7 @@
and dt.table_name = uo.object_name
and uo.object_type = 'TABLE'
AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%'
AND dt.table_name NOT IN (select table_name from gen_table)
AND dt.table_name NOT IN (select table_name from generator_table)
<if test="dto.tableName != null and dto.tableName != ''">
AND lower(dt.table_name) like lower(concat(concat('%', #{dto.tableName}), '%'))
</if>
@ -59,7 +59,7 @@
AND n.nspname <![CDATA[ <> ]]> ''::name
) list_table
where table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%'
AND table_name NOT IN (select table_name from gen_table)
AND table_name NOT IN (select table_name from generator_table)
<if test="dto.tableName != null and dto.tableName != ''">
AND lower(table_name) like lower(concat('%', #{dto.tableName}, '%'))
</if>

View File

@ -0,0 +1 @@
如果不慎使用了IDEA代码格式化, 导致代码生成出来的数据异常, 删除vm目录下的所有文件, 解压vm.zip下的文件即可

View File

@ -25,7 +25,6 @@ public class ${ClassName}Dto implements Serializable {
#if(!$generator.isBaseColumn($column.javaField))
## 是主键
#if($generator.isPk($column.isPk))
@Schema(description = "$column.columnComment")
private String $column.javaField;
## 不是主键

View File

@ -26,9 +26,6 @@ public class ${ClassName} extends BaseEntity{
#if(!$generator.isBaseColumn($column.javaField))
## 是主键
#if($generator.isPk($column.isPk))
/**
* $column.columnComment
*/
@TableId
private String $column.javaField;

View File

@ -4,10 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
import java.io.Serializable;
/**
* ${functionName} Param
* ${functionName} 查询参数
*
* @author ${author}
* @version 1.0
@ -18,5 +20,30 @@ import java.io.Serializable;
public class ${ClassName}Param implements Serializable {
private static final long serialVersionUID=1L;
## 遍历字段
#foreach ($column in $queryColumns)
#if($column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.javaType == "Date")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
#end
@Schema(description = "开始$column.columnComment")
private $column.javaType start$AttrName;
#if($column.javaType == "Date")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
#end
@Schema(description = "结束$column.columnComment")
private $column.javaType end$AttrName;
#else
#if($column.javaType == "Date")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
#end
@Schema(description = "$column.columnComment")
private $column.javaType $column.javaField;
#end
#end
}

View File

@ -2,6 +2,7 @@ package ${packageName}.service.impl;
import java.util.*;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qiaoba.auth.utils.SecurityUtil;
import com.qiaoba.common.base.exceptions.ServiceException;
@ -94,6 +95,30 @@ public class ${ClassName}ServiceImpl implements ${ClassName}Service {
private QueryWrapper<${ClassName}> param2Wrapper(${ClassName}Param param) {
QueryWrapper<${ClassName}> wrapper = new QueryWrapper<>();
#if($queryColumns.size() > 0)
wrapper.lambda()
#foreach ($column in $queryColumns)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.queryType == "EQ")
.eq(ObjectUtil.isNotEmpty(param.get${AttrName}()), ${ClassName}::get${AttrName}, param.get${AttrName}())#if($foreach.count == $queryColumns.size());#end
#elseif($column.queryType == "NE")
.ne(ObjectUtil.isNotEmpty(param.get${AttrName}()), ${ClassName}::get${AttrName}, param.get${AttrName}())#if($foreach.count == $queryColumns.size());#end
#elseif($column.queryType == "GT")
.gt(ObjectUtil.isNotEmpty(param.get${AttrName}()), ${ClassName}::get${AttrName}, param.get${AttrName}())#if($foreach.count == $queryColumns.size());#end
#elseif($column.queryType == "GTE")
.ge(ObjectUtil.isNotEmpty(param.get${AttrName}()), ${ClassName}::get${AttrName}, param.get${AttrName}())#if($foreach.count == $queryColumns.size());#end
#elseif($column.queryType == "LT")
.lt(ObjectUtil.isNotEmpty(param.get${AttrName}()), ${ClassName}::get${AttrName}, param.get${AttrName}())#if($foreach.count == $queryColumns.size());#end
#elseif($column.queryType == "LTE")
.le(ObjectUtil.isNotEmpty(param.get${AttrName}()), ${ClassName}::get${AttrName}, param.get${AttrName}())#if($foreach.count == $queryColumns.size());#end
#elseif($column.queryType == "LIKE")
.like(ObjectUtil.isNotEmpty(param.get${AttrName}()), ${ClassName}::get${AttrName}, param.get${AttrName}())#if($foreach.count == $queryColumns.size());#end
#elseif($column.queryType == "BETWEEN")
.between((ObjectUtil.isNotEmpty(param.getStart${AttrName}()) && ObjectUtil.isNotEmpty(param.getEnd${AttrName}())),
${ClassName}::get${AttrName}, param.getStart${AttrName}(), param.getEnd${AttrName}())#if($foreach.count == $queryColumns.size());#end
#end
#end
#end
return wrapper;
}
}