1、SpringBoot优化

Former-commit-id: f0a4ea1f95bf01bc8373295e79100f48067e590b
master
wangbing 5 years ago
parent 8c7151f64a
commit def805685f

@ -691,7 +691,7 @@ public class SpringBootCallable implements Callable {
continue;
}
for (File file : fileModule.listFiles()) {
if (!file.getName().startsWith("SQLite_ALL_") && file.getName().endsWith(".sql")) {
if (file.getName().startsWith("SQLite_") && !file.getName().startsWith("SQLite_ALL_") && file.getName().endsWith(".sql")) {
statement = connection.createStatement();
String sql = FileUtil.readFileToString(file);
statement.execute(sql);

@ -207,7 +207,28 @@ public class Table extends TreeItem {
}
return false;
}
public boolean hasSeachKey() {
public List<Field> primaryKeyList() {
ArrayList<Field> list = new ArrayList<>();
for (Field field : this.fields) {
if (field.getIsPrimaryKey()) {
list.add(field);
}
}
return list;
}
public List<Field> searchKeyList() {
ArrayList<Field> list = new ArrayList<>();
for (Field field : this.fields) {
if (field.getIsSearch()) {
list.add(field);
}
}
return list;
}
public boolean hasSearchKey() {
for (Field field : fields) {
if (field.getIsSearch()) {
return true;

@ -4,24 +4,15 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${basePackage}.module.${moduleName}.mpr.${table.getCName()}Mapper">
<#if dataBase == 'Oracle'>
<sql id="table">"${module.modulePrefix?default("")}${table.tableName}"</sql>
<#elseif dataBase='MySQL'>
<sql id="table">`${module.modulePrefix?default("")}${table.tableName}`</sql>
</#if>
<sql id="entityColumnList">
<#if dataBase == 'Oracle'>
<#list table.fields as f>"${f.fieldName}"<#if f_has_next>,</#if></#list>
<#elseif dataBase='MySQL'>
<#list table.fields as f>`${f.fieldName}`<#if f_has_next>,</#if></#list>
</#if>
<#list table.fields as field>`${field.fieldName}`<#if field_has_next>,</#if></#list>
</sql>
<resultMap id="${table.getFName()}" type="${basePackage}.module.${moduleName}.ent.${table.getCName()}">
<#list table.fields as f>
<result column="${f.fieldName}" jdbcType="${f.fieldType.jdbcType()}" property="${f.getFName()}"/>
<#list table.fields as field>
<result column="${field.fieldName}" jdbcType="${field.fieldType.jdbcType()}" property="${field.getFName()}"/>
</#list>
</resultMap>
@ -32,32 +23,18 @@
<include refid="table"/>
WHERE
1 = 1
<#list table.fields as f>
<#if f.isQuery>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#list table.fields as field>
<#if field.isQuery>
<#if field.fieldType.javaType() == "String">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#elseif field.fieldType.javaType() == "Boolean">
<if test="request.${field.getFName()} != null">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
</#if>
</#if>
</#if>
</#if>
</#list>
</select>
@ -66,26 +43,21 @@
<include refid="entityColumnList"/>
FROM
<include refid="table"/>
<#if table.hasSearchKey()>
<#list table.searchKeyList() as field>
<#if field_index = 0>
WHERE
1 = 1
<#if table.hasSeachKey()>
<if test="request.keyword != null and request.keyword != ''">
1 = 1
<#list table.fields as f>
<#if f.isQuery>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
OR "${f.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
OR `${f.fieldName}` LIKE CONCAT(CONCAT('%',${r"#{"}request.keyword}),'%')
</#if>
</#if>
</#if>
</#list>
(
`${field.fieldName}` LIKE CONCAT(CONCAT('%',${r"#{"}request.keyword}),'%')
<#else>
OR `${field.fieldName}` LIKE CONCAT(CONCAT('%',${r"#{"}request.keyword}),'%')
</#if>
<#if !field_has_next>
)
</#if>
</#list>
<#else>
1 = 2
WHERE 1 = 2
</#if>
</select>
@ -97,8 +69,8 @@
)
VALUES
(
<#list table.fields as f>
${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}}<#if f_has_next>,</#if>
<#list table.fields as field>
${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}}<#if field_has_next>,</#if>
</#list>
)
</insert>
@ -106,38 +78,16 @@
<delete id="delete">
DELETE FROM
<include refid="table"/>
WHERE
<#if table.hasPrimaryKey()>
1 = 1
<#list table.fields as f>
<#if f.isPrimaryKey>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
</#if>
</#if>
</#list>
<#list table.primaryKeyList() as field>
<#if field_index = 0>
WHERE `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
<#else>
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</#if>
</#list>
<#else>
1 = 2
WHERE 1 = 2
</#if>
</delete>
@ -145,47 +95,21 @@
UPDATE
<include refid="table"/>
SET
<#if dataBase == 'Oracle'>
<#list table.fields as f>
"${f.fieldName}" = ${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}}<#if f_has_next>,</#if>
</#list>
<#elseif dataBase='MySQL'>
<#list table.fields as f>
`${f.fieldName}` = ${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}}<#if f_has_next>,</#if>
</#list>
<#list table.fields as field>
<#if !field.isPrimaryKey>
`${field.fieldName}` = ${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
WHERE
<#if table.hasPrimaryKey()>
1 = 1
<#list table.fields as f>
<#if f.isPrimaryKey>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
</#if>
</#if>
</#list>
<#if table.hasPrimaryKey()>
<#list table.primaryKeyList() as field>
<#if field_index = 0>
WHERE `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
<#else>
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</#if>
</#list>
<#else>
1 = 2
WHERE 1 = 2
</#if>
</update>
</mapper>

@ -7,12 +7,12 @@
<sql id="table">`${module.modulePrefix?default("")}${table.tableName}`</sql>
<sql id="entityColumnList">
<#list table.fields as f>`${f.fieldName}`<#if f_has_next>,</#if></#list>
<#list table.fields as field>`${field.fieldName}`<#if field_has_next>,</#if></#list>
</sql>
<resultMap id="${table.getFName()}" type="${basePackage}.module.${moduleName}.ent.${table.getCName()}">
<#list table.fields as f>
<result column="${f.fieldName}" jdbcType="${f.fieldType.jdbcType()}" property="${f.getFName()}"/>
<#list table.fields as field>
<result column="${field.fieldName}" jdbcType="${field.fieldType.jdbcType()}" property="${field.getFName()}"/>
</#list>
</resultMap>
@ -23,56 +23,56 @@
<include refid="table"/>
WHERE
`IS_DELETED` = 0
<#list table.fields as f>
<#if f.isQuery>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#list table.fields as field>
<#if field.isQuery>
<#if field.fieldType.javaType() == "Boolean">
<if test="request.${field.getFName()} != null">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Byte">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Byte">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Short">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Short">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Integer">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Integer">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Long">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Long">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Float">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Float">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Double">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Double">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Character">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Character">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "String">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND `${field.fieldName}` = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Date">
<if test="request.${f.getFName()} != null">
AND DATE_FORMAT(`${f.fieldName}`,"%Y-%m-%d %T") = DATE_FORMAT(${r"#{"}request.${f.getFName()}},"%Y-%m-%d %T")
<#if field.fieldType.javaType() == "Date">
<if test="request.${field.getFName()} != null">
AND DATE_FORMAT(`${field.fieldName}`,"%Y-%m-%d %T") = DATE_FORMAT(${r"#{"}request.${field.getFName()}},"%Y-%m-%d %T")
</if>
</#if>
</#if>
@ -86,14 +86,19 @@
<include refid="table"/>
WHERE
`IS_DELETED` = 0
<#if table.hasSearchKey()>
<if test="request.keyword != null and request.keyword != ''">
1 = 2
<#list table.fields as f>
<#if f.isSearch>
OR `${f.fieldName}` LIKE CONCAT('%',${r"#{request.keyword}"},'%')
</#if>
</#list>
AND (
<#list table.searchKeyList() as field>
<#if field_index == 0>
`${field.fieldName}` LIKE CONCAT('%',${r"#{request.keyword}"},'%')
<#else>
OR `${field.fieldName}` LIKE CONCAT('%',${r"#{request.keyword}"},'%')
</#if>
</#list>
)
</if>
</#if>
</select>
<insert id="insert">
@ -105,9 +110,9 @@
VALUES
(
${r"#{"}request.id},
<#list table.fields as f>
<#if !f.isSystem>
${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}},
<#list table.fields as field>
<#if !field.isSystem>
${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
</#list>
0,
@ -126,12 +131,12 @@
<include refid="entityColumnList"/>
)
VALUES
<foreach collection="list" item= "item" index ="index" separator=",">
<foreach collection="list" item="item" index="index" separator=",">
(
${r"#{"}item.id},
<#list table.fields as f>
<#if !f.isSystem>
${r"#{"}item.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}},
<#list table.fields as field>
<#if !field.isSystem>
${r"#{"}item.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
</#list>
0,
@ -141,7 +146,7 @@
NULL,
NULL
)
</foreach >
</foreach>
</insert>
<update id="delete">
@ -156,18 +161,17 @@
UPDATE
<include refid="table"/>
SET
<#list table.fields as f>
<#if !f.isPrimaryKey>
<#if !f.isSystem || f.fieldName == 'ID'>
`${f.fieldName}` = ${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}},
<#list table.fields as field>
<#if !field.isPrimaryKey>
<#if !field.isSystem || field.fieldName == 'ID'>
`${field.fieldName}` = ${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
</#if>
</#list>
`ROW_VERSION` = `ROW_VERSION` + 1,
`LAST_UPDATE_BY` = ${r"#{"}token.userId},
`LAST_UPDATE_TIME` = sysdate()
WHERE
`IS_DELETED` = 0
WHERE `IS_DELETED` = 0
AND `ID` = ${r"#{"}request.id}
AND `ROW_VERSION` = ${r"#{"}request.rowVersion}
</update>
@ -177,8 +181,7 @@
<include refid="entityColumnList"/>
FROM
<include refid="table"/>
WHERE
`IS_DELETED` = 0
WHERE `IS_DELETED` = 0
AND `ID` = ${r"#{request.id}"}
</select>
</mapper>

@ -4,24 +4,15 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${basePackage}.module.${moduleName}.mpr.${table.getCName()}Mapper">
<#if dataBase == 'Oracle'>
<sql id="table">"${module.modulePrefix?default("")}${table.tableName}"</sql>
<#elseif dataBase='MySQL'>
<sql id="table">`${module.modulePrefix?default("")}${table.tableName}`</sql>
</#if>
<sql id="entityColumnList">
<#if dataBase == 'Oracle'>
<#list table.fields as f>"${f.fieldName}"<#if f_has_next>,</#if></#list>
<#elseif dataBase='MySQL'>
<#list table.fields as f>`${f.fieldName}`<#if f_has_next>,</#if></#list>
</#if>
<#list table.fields as field>"${field.fieldName}"<#if field_has_next>,</#if></#list>
</sql>
<resultMap id="${table.getFName()}" type="${basePackage}.module.${moduleName}.ent.${table.getCName()}">
<#list table.fields as f>
<result column="${f.fieldName}" jdbcType="${f.fieldType.jdbcType()}" property="${f.getFName()}"/>
<#list table.fields as field>
<result column="${field.fieldName}" jdbcType="${field.fieldType.jdbcType()}" property="${field.getFName()}"/>
</#list>
</resultMap>
@ -32,32 +23,18 @@
<include refid="table"/>
WHERE
1 = 1
<#list table.fields as f>
<#if f.isQuery>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#list table.fields as field>
<#if field.isQuery>
<#if field.fieldType.javaType() == "String">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#elseif field.fieldType.javaType() == "Boolean">
<if test="request.${field.getFName()} != null">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
</#if>
</#if>
</#if>
</#if>
</#list>
</select>
@ -66,26 +43,21 @@
<include refid="entityColumnList"/>
FROM
<include refid="table"/>
<#if table.hasSearchKey()>
<#list table.searchKeyList() as field>
<#if field_index = 0>
WHERE
1 = 1
<#if table.hasSeachKey()>
<if test="request.keyword != null and request.keyword != ''">
1 = 1
<#list table.fields as f>
<#if f.isQuery>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
OR "${f.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
OR `${f.fieldName}` LIKE CONCAT(CONCAT('%',${r"#{"}request.keyword}),'%')
</#if>
</#if>
</#if>
</#list>
(
"${field.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
<#else>
OR "${field.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
</#if>
<#if !field_has_next>
)
</#if>
</#list>
<#else>
1 = 2
WHERE 1 = 2
</#if>
</select>
@ -97,8 +69,8 @@
)
VALUES
(
<#list table.fields as f>
${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}}<#if f_has_next>,</#if>
<#list table.fields as field>
${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}}<#if field_has_next>,</#if>
</#list>
)
</insert>
@ -106,38 +78,16 @@
<delete id="delete">
DELETE FROM
<include refid="table"/>
WHERE
<#if table.hasPrimaryKey()>
1 = 1
<#list table.fields as f>
<#if f.isPrimaryKey>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
</#if>
</#if>
</#list>
<#list table.primaryKeyList() as field>
<#if field_index = 0>
WHERE "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
<#else>
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</#if>
</#list>
<#else>
1 = 2
WHERE 1 = 2
</#if>
</delete>
@ -145,47 +95,21 @@
UPDATE
<include refid="table"/>
SET
<#if dataBase == 'Oracle'>
<#list table.fields as f>
"${f.fieldName}" = ${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}}<#if f_has_next>,</#if>
</#list>
<#elseif dataBase='MySQL'>
<#list table.fields as f>
`${f.fieldName}` = ${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}}<#if f_has_next>,</#if>
</#list>
<#list table.fields as field>
<#if !field.isPrimaryKey>
"${field.fieldName}" = ${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}}<#if field_has_next>,</#if>
</#if>
WHERE
<#if table.hasPrimaryKey()>
1 = 1
<#list table.fields as f>
<#if f.isPrimaryKey>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
</#if>
</#if>
</#list>
<#if table.hasPrimaryKey()>
<#list table.primaryKeyList() as field>
<#if field_index = 0>
WHERE "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
<#else>
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</#if>
</#list>
<#else>
1 = 2
WHERE 1 = 2
</#if>
</update>
</mapper>

@ -7,12 +7,12 @@
<sql id="table">"${module.modulePrefix?default("")}${table.tableName}"</sql>
<sql id="entityColumnList">
<#list table.fields as f>"${f.fieldName}"<#if f_has_next>,</#if></#list>
<#list table.fields as field>"${field.fieldName}"<#if field_has_next>,</#if></#list>
</sql>
<resultMap id="${table.getFName()}" type="${basePackage}.module.${moduleName}.ent.${table.getCName()}">
<#list table.fields as f>
<result column="${f.fieldName}" jdbcType="${f.fieldType.jdbcType()}" property="${f.getFName()}"/>
<#list table.fields as field>
<result column="${field.fieldName}" jdbcType="${field.fieldType.jdbcType()}" property="${field.getFName()}"/>
</#list>
</resultMap>
@ -23,56 +23,56 @@
<include refid="table"/>
WHERE
"IS_DELETED" = 0
<#list table.fields as f>
<#if f.isQuery>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
<#list table.fields as field>
<#if field.isQuery>
<#if field.fieldType.javaType() == "Boolean">
<if test="request.${field.getFName()} != null">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Byte">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Byte">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Short">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Short">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Integer">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Integer">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Long">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Long">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Float">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Float">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Double">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Double">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Character">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Character">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "String">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Date">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND to_char("${f.fieldName}",'yyyy-MM-dd HH24:mi:ss') = to_char(${r"#{"}request.${f.getFName()}},'yyyy-MM-dd HH24:mi:ss')
<#if field.fieldType.javaType() == "Date">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND to_char("${field.fieldName}",'yyyy-MM-dd HH24:mi:ss') = to_char(${r"#{"}request.${field.getFName()}},'yyyy-MM-dd HH24:mi:ss')
</if>
</#if>
</#if>
@ -86,13 +86,19 @@
<include refid="table"/>
WHERE
"IS_DELETED" = 0
<#if table.hasSearchKey()>
<if test="request.keyword != null and request.keyword != ''">
1 = 2
<#list table.fields as f>
<#if f.isSearch>
OR "${f.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
</#list>
AND (
<#list table.searchKeyList() as field>
<#if field_index == 0>
"${field.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
<#else>
OR "${field.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
</#if>
</#list>
)
</if>
</#if>
</select>
<insert id="insert">
@ -104,9 +110,9 @@
VALUES
(
${r"#{"}request.id},
<#list table.fields as f>
<#if !f.isSystem>
${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}},
<#list table.fields as field>
<#if !field.isSystem>
${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
</#list>
0,
@ -125,12 +131,12 @@
<include refid="entityColumnList"/>
)
VALUES
<foreach collection="list" item= "item" index ="index" separator=",">
<foreach collection="list" item="item" index="index" separator=",">
(
${r"#{"}item.id},
<#list table.fields as f>
<#if !f.isSystem>
${r"#{"}item.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}},
<#list table.fields as field>
<#if !field.isSystem>
${r"#{"}item.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
</#list>
0,
@ -155,18 +161,17 @@
UPDATE
<include refid="table"/>
SET
<#list table.fields as f>
<#if !f.isPrimaryKey>
<#if !f.isSystem || f.fieldName == 'ID'>
"${f.fieldName}" = ${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}},
<#list table.fields as field>
<#if !field.isPrimaryKey>
<#if !field.isSystem || field.fieldName == 'ID'>
"${field.fieldName}" = ${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
</#if>
</#list>
"ROW_VERSION" = "ROW_VERSION" + 1,
"LAST_UPDATE_BY" = ${r"#{"}token.userId},
"LAST_UPDATE_TIME" = sysdate
WHERE
"IS_DELETED" = 0
WHERE "IS_DELETED" = 0
AND "ID" = ${r"#{"}request.id}
AND "ROW_VERSION" = ${r"#{"}request.rowVersion}
</update>
@ -176,8 +181,7 @@
<include refid="entityColumnList"/>
FROM
<include refid="table"/>
WHERE
"IS_DELETED" = 0
WHERE "IS_DELETED" = 0
AND "ID" = ${r"#{request.id}"}
</select>
</mapper>

@ -4,24 +4,15 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${basePackage}.module.${moduleName}.mpr.${table.getCName()}Mapper">
<#if dataBase == 'Oracle'>
<sql id="table">"${module.modulePrefix?default("")}${table.tableName}"</sql>
<#elseif dataBase='MySQL'>
<sql id="table">`${module.modulePrefix?default("")}${table.tableName}`</sql>
</#if>
<sql id="entityColumnList">
<#if dataBase == 'Oracle'>
<#list table.fields as f>"${f.fieldName}"<#if f_has_next>,</#if></#list>
<#elseif dataBase='MySQL'>
<#list table.fields as f>`${f.fieldName}`<#if f_has_next>,</#if></#list>
</#if>
<#list table.fields as field>"${field.fieldName}"<#if field_has_next>,</#if></#list>
</sql>
<resultMap id="${table.getFName()}" type="${basePackage}.module.${moduleName}.ent.${table.getCName()}">
<#list table.fields as f>
<result column="${f.fieldName}" jdbcType="${f.fieldType.jdbcType()}" property="${f.getFName()}"/>
<#list table.fields as field>
<result column="${field.fieldName}" jdbcType="${field.fieldType.jdbcType()}" property="${field.getFName()}"/>
</#list>
</resultMap>
@ -32,32 +23,18 @@
<include refid="table"/>
WHERE
1 = 1
<#list table.fields as f>
<#if f.isQuery>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#list table.fields as field>
<#if field.isQuery>
<#if field.fieldType.javaType() == "String">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
<#elseif field.fieldType.javaType() == "Boolean">
<if test="request.${field.getFName()} != null">
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
</#if>
</#if>
</#if>
</#if>
</#list>
</select>
@ -66,26 +43,21 @@
<include refid="entityColumnList"/>
FROM
<include refid="table"/>
<#if table.hasSearchKey()>
<#list table.searchKeyList() as field>
<#if field_index = 0>
WHERE
1 = 1
<#if table.hasSeachKey()>
<if test="request.keyword != null and request.keyword != ''">
1 = 1
<#list table.fields as f>
<#if f.isQuery>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
OR "${f.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
OR `${f.fieldName}` LIKE CONCAT(CONCAT('%',${r"#{"}request.keyword}),'%')
</#if>
</#if>
</#if>
</#list>
(
"${field.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
<#else>
OR "${field.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
</#if>
<#if !field_has_next>
)
</#if>
</#list>
<#else>
1 = 2
WHERE 1 = 2
</#if>
</select>
@ -97,8 +69,8 @@
)
VALUES
(
<#list table.fields as f>
${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}}<#if f_has_next>,</#if>
<#list table.fields as field>
${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}}<#if field_has_next>,</#if>
</#list>
)
</insert>
@ -106,38 +78,16 @@
<delete id="delete">
DELETE FROM
<include refid="table"/>
WHERE
<#if table.hasPrimaryKey()>
1 = 1
<#list table.fields as f>
<#if f.isPrimaryKey>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
</#if>
</#if>
</#list>
<#list table.primaryKeyList() as field>
<#if field_index = 0>
WHERE "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
<#else>
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</#if>
</#list>
<#else>
1 = 2
WHERE 1 = 2
</#if>
</delete>
@ -145,47 +95,21 @@
UPDATE
<include refid="table"/>
SET
<#if dataBase == 'Oracle'>
<#list table.fields as f>
"${f.fieldName}" = ${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}}<#if f_has_next>,</#if>
</#list>
<#elseif dataBase='MySQL'>
<#list table.fields as f>
`${f.fieldName}` = ${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}}<#if f_has_next>,</#if>
</#list>
<#list table.fields as field>
<#if !field.isPrimaryKey>
"${field.fieldName}" = ${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}}<#if field_has_next>,</#if>
</#if>
WHERE
<#if table.hasPrimaryKey()>
1 = 1
<#list table.fields as f>
<#if f.isPrimaryKey>
<#if dataBase == 'Oracle'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#elseif dataBase='MySQL'>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
</if>
</#if>
</#if>
</#if>
</#list>
<#if table.hasPrimaryKey()>
<#list table.primaryKeyList() as field>
<#if field_index = 0>
WHERE "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
<#else>
AND "${field.fieldName}" = ${r"#{"}request.${field.getFName()}}
</#if>
</#list>
<#else>
1 = 2
WHERE 1 = 2
</#if>
</update>
</mapper>

@ -7,12 +7,12 @@
<sql id="table">"${module.modulePrefix?default("")}${table.tableName}"</sql>
<sql id="entityColumnList">
<#list table.fields as f>"${f.fieldName}"<#if f_has_next>,</#if></#list>
<#list table.fields as field>"${field.fieldName}"<#if field_has_next>,</#if></#list>
</sql>
<resultMap id="${table.getFName()}" type="${basePackage}.module.${moduleName}.ent.${table.getCName()}">
<#list table.fields as f>
<result column="${f.fieldName}" jdbcType="${f.fieldType.jdbcType()}" property="${f.getFName()}"/>
<#list table.fields as field>
<result column="${field.fieldName}" jdbcType="${field.fieldType.jdbcType()}" property="${field.getFName()}"/>
</#list>
</resultMap>
@ -23,56 +23,56 @@
<include refid="table"/>
WHERE
"IS_DELETED" = 0
<#list table.fields as f>
<#if f.isQuery>
<#if f.fieldType.javaType() == "Boolean">
<if test="request.${f.getFName()} != null">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#list table.fields as field>
<#if field.isQuery>
<#if field.fieldType.javaType() == "Boolean">
<if test="request.${field.getFName()} != null">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Byte">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Byte">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Short">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Short">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Integer">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Integer">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Long">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Long">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Float">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Float">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Double">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != 0">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Double">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != 0">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Character">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Character">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "String">
<if test="request.${f.getFName()} != null and request.${f.getFName()} != ''">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "String">
<if test="request.${field.getFName()} != null and request.${field.getFName()} != ''">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
<#if f.fieldType.javaType() == "Date">
<if test="request.${f.getFName()} != null">
AND ${f.fieldName} = ${r"#{"}request.${f.getFName()}}
<#if field.fieldType.javaType() == "Date">
<if test="request.${field.getFName()} != null">
AND ${field.fieldName} = ${r"#{"}request.${field.getFName()}}
</if>
</#if>
</#if>
@ -86,14 +86,19 @@
<include refid="table"/>
WHERE
"IS_DELETED" = 0
<#if table.hasSearchKey()>
<if test="request.keyword != null and request.keyword != ''">
1 = 2
<#list table.fields as f>
<#if f.isSearch>
OR ${f.fieldName} LIKE CONCAT('%',${r"#{request.keyword}"},'%')
</#if>
</#list>
AND (
<#list table.searchKeyList() as field>
<#if field_index == 0>
"${field.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
<#else>
OR "${field.fieldName}" LIKE '%'||${r"#{"}request.keyword}||'%'
</#if>
</#list>
)
</if>
</#if>
</select>
<insert id="insert">
@ -105,9 +110,9 @@
VALUES
(
${r"#{"}request.id},
<#list table.fields as f>
<#if !f.isSystem>
${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}},
<#list table.fields as field>
<#if !field.isSystem>
${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
</#list>
0,
@ -126,12 +131,12 @@
<include refid="entityColumnList"/>
)
VALUES
<foreach collection="list" item= "item" index ="index" separator=",">
<foreach collection="list" item="item" index="index" separator=",">
(
${r"#{"}item.id},
<#list table.fields as f>
<#if !f.isSystem>
${r"#{"}item.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}},
<#list table.fields as field>
<#if !field.isSystem>
${r"#{"}item.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
</#list>
0,
@ -156,18 +161,17 @@
UPDATE
<include refid="table"/>
SET
<#list table.fields as f>
<#if !f.isPrimaryKey>
<#if !f.isSystem || f.fieldName == 'ID'>
${f.fieldName} = ${r"#{"}request.${f.getFName()},jdbcType=${f.fieldType.jdbcType()}},
<#list table.fields as field>
<#if !field.isPrimaryKey>
<#if !field.isSystem || field.fieldName == 'ID'>
${field.fieldName} = ${r"#{"}request.${field.getFName()},jdbcType=${field.fieldType.jdbcType()}},
</#if>
</#if>
</#list>
"ROW_VERSION" = "ROW_VERSION" + 1,
"LAST_UPDATE_BY" = ${r"#{"}token.userId},
"LAST_UPDATE_TIME" = datetime('now','localtime')
WHERE
"IS_DELETED" = 0
WHERE "IS_DELETED" = 0
AND "ID" = ${r"#{"}request.id}
AND "ROW_VERSION" = ${r"#{"}request.rowVersion}
</update>
@ -177,8 +181,7 @@
<include refid="entityColumnList"/>
FROM
<include refid="table"/>
WHERE
IS_DELETED = 0
WHERE IS_DELETED = 0
AND ID = ${r"#{request.id}"}
</select>
</mapper>

@ -55,6 +55,24 @@
<if test="request.valid != null">
AND VALID = ${r"#"}{request.valid}
</if>
<if test="request.userId != null">
AND "ID" IN (
SELECT
t2.RES_ID
FROM
"SYS_USER_ROLE" t1,
"SYS_ROLE_RES" t2
WHERE t1.ROLE_ID = t2.ROLE_ID
AND t1.IS_DELETED = '0'
AND t2.IS_DELETED = '0'
AND t1.USER_ID = ${r'#'}{request.userId}
)
</if>
<if test="request.roleCode != null">
AND "ID" IN (
SELECT RES_ID FROM "SYS_ROLE_RES" WHERE ROLE_CODE = ${r'#'}{request.roleCode}
)
</if>
</select>
<select id="search" resultMap="res">

@ -5,7 +5,6 @@ import ${basePackage}.frame.base.BaseRequest;
import ${basePackage}.frame.validation.Dict;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@ -28,13 +27,13 @@ public class UserCreateRequest extends BaseRequest {
/**
*
*/
@NotBlank(message = "[userCode]用户代码不能为空")
@Length(min = 0, max = 50, message = "[userCode]用户代码长度不合法(0-50)")
private String userCode;
/**
*
*/
@NotBlank(message = "[userAlias]用户别名不能为空")
@Length(min = 0, max = 50, message = "[userAlias]用户别名长度不合法(0-50)")
private String userAlias;
@ -59,7 +58,6 @@ public class UserCreateRequest extends BaseRequest {
@Length(min = 0, max = 50, message = "[deptCode]部门代码长度不合法(0-50)")
private String deptCode;
@NotEmpty(message = "[roleIdList]角色主键不能为空")
private List<String> roleCodeList;
public String getUserName() {

@ -145,7 +145,10 @@
<el-form class=form" :model="form" :inline="true" :rules="formRules" ref="form"
label-position="right" label-width="90px">
<el-form-item label="用户账户" prop="userName">
<el-input v-model="form.userName" readonly size="mini" placeholder="请输入用户账户"></el-input>
<el-input v-model="form.userName" :readonly="form.id>0" size="mini" placeholder="请输入用户账户"></el-input>
</el-form-item>
<el-form-item label="用户代码" prop="userCode">
<el-input v-model="form.userCode" size="mini" placeholder="请输入用户代码"></el-input>
</el-form-item>
<el-form-item label="用户别名" prop="userAlias">
<el-input v-model="form.userAlias" clearable size="mini" autocomplete="off" placeholder="请输入用户别名"></el-input>
@ -210,24 +213,24 @@
{min: 1, max: 100, message: '用户账户长度在 1 到 100 个字符', trigger: 'blur'}
],
userCode: [
{required: true, message: '用户代码不能为空', trigger: 'blur'},
{min: 1, max: 50, message: '用户代码长度在 1 到 50 个字符', trigger: 'blur'}
],
userAlias: [
{required: true, message: '用户别名不能为空', trigger: 'blur'},
{min: 1, max: 50, message: '用户别名长度在 1 到 50 个字符', trigger: 'blur'}
],
userPwd: [
{required: true, message: '用户密码不能为空', trigger: 'blur'},
{pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/, message: '密码至少包含 数字和英文长度6-20'}
],
userStatus: [
{required: true, message: '用户状态不能为空', trigger: 'blur'},
],
deptCode: [
{required: true, message: '请选择部门', trigger: 'blur'},
{min: 1, max: 50, message: '部门代码长度在 1 到 50 个字符', trigger: 'blur'}
],
roleCodeList: [
{required: true, message: '用户角色不能为空', trigger: 'blur'},
]
roleCodeList: []
},
roleList: []
},

@ -1,11 +1,25 @@
package ${basePackage}.config;
import ${basePackage}.frame.auth.Token;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import ${basePackage}.frame.auth.LocalData;
import ${basePackage}.frame.auth.Token;
import javax.annotation.PostConstruct;
@Configuration
public class TestConfig {
@Autowired
private ApplicationContext applicationContext;
@PostConstruct
public void initLocalData() {
LocalData.setApplicationContext(applicationContext);
}
@Bean
public Token getTestToken() {
Token token = new Token();

@ -32,6 +32,9 @@ public class DictInit {
@Autowired
private Token token;
/**
*
*/
@Test
@Rollback(false)
public void init() {
@ -53,6 +56,7 @@ public class DictInit {
{// 资源类型
createDict("RES_TYPE", "资源类型", new String[][]{
{"目录", "目录"},
{"网页地址", "网页地址"},
{"异步请求", "异步请求"},
});

@ -0,0 +1,173 @@
package ${basePackage}.datainit;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import ${basePackage}.frame.auth.Token;
import ${basePackage}.frame.utils.MapperUtil;
import ${basePackage}.module.system.mgr.ResManager;
import ${basePackage}.module.system.mgr.RoleManager;
import ${basePackage}.module.system.mgr.RoleResManager;
import ${basePackage}.module.system.req.ResCreateRequest;
import ${basePackage}.module.system.req.RoleCreateRequest;
import ${basePackage}.module.system.req.RoleResCheckRequest;
import ${basePackage}.module.system.rsp.ResCreateResponse;
import ${basePackage}.module.system.rsp.RoleCreateResponse;
import ${basePackage}.module.system.rsp.RoleResCheckResponse;
import static org.junit.Assert.assertTrue;
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class RoleInit {
@Autowired
private ResManager resManager;
@Autowired
private RoleManager roleManager;
@Autowired
private RoleResManager roleCreateRequest;
@Autowired
private Token token;
/**
*
*/
@Test
@Rollback(false)
public void init() {
String roleCode = "management";
String roleName = "管理员";
String roleComment = "管理员";
Long roleId = null;
{//初始化角色
roleId = createRole(roleCode, roleName, roleComment);
}
{// 初始化核心管理资源,涉及系统运行,特殊需要再放开
// createRes(roleId, roleCode, "WEB_DICT", "字典管理", "网页地址", "/admin/system/dict.htm");
// createRes(roleId, roleCode, "WEB_DICT_CREATE", "字典新建", "异步请求", "/ajax/system/dict/create");
// createRes(roleId, roleCode, "WEB_DICT_DELETE", "字典删除", "异步请求", "/ajax/system/dict/delete");
// createRes(roleId, roleCode, "WEB_DICT_UPDATE", "字典更新", "异步请求", "/ajax/system/dict/update");
// createRes(roleId, roleCode, "WEB_DICT_FIND", "字典查询", "异步请求", "/ajax/system/dict/find");
// createRes(roleId, roleCode, "WEB_DICT_GET", "字典获取", "异步请求", "/ajax/system/dict/get");
// createRes(roleId, roleCode, "WEB_DICT_LOAD", "字典详情", "异步请求", "/ajax/system/dict/load");
// createRes(roleId, roleCode, "WEB_DICT_IMPORT", "字典导入", "异步请求", "/ajax/system/dict/imports");
// createRes(roleId, roleCode, "WEB_DICT_EXPORT", "字典导出", "异步请求", "/ajax/system/dict/exports");
// createRes(roleId, roleCode, "WEB_DICT_ITEM", "字典项管理", "网页地址", "/admin/system/dictItem.htm");
// createRes(roleId, roleCode, "WEB_DICT_ITEM_CREATE", "字典项新增", "异步请求", "/ajax/system/dictItem/create");
// createRes(roleId, roleCode, "WEB_DICT_ITEM_DELETE", "字典项删除", "异步请求", "/ajax/system/dictItem/delete");
// createRes(roleId, roleCode, "WEB_DICT_ITEM_UPDATE", "字典项更新", "异步请求", "/ajax/system/dictItem/update");
// createRes(roleId, roleCode, "WEB_DICT_ITEM_FIND", "字典项查找", "异步请求", "/ajax/system/dictItem/find");
// createRes(roleId, roleCode, "WEB_DICT_ITEM_GET", "字典项获取", "异步请求", "/ajax/system/dictItem/get");
// createRes(roleId, roleCode, "WEB_RES", "资源管理", "网页地址", "/admin/system/res.htm");
// createRes(roleId, roleCode, "WEB_RES_CREATE", "资源新增", "异步请求", "/ajax/system/res/create");
// createRes(roleId, roleCode, "WEB_RES_DELETE", "资源删除", "异步请求", "/ajax/system/res/delete");
// createRes(roleId, roleCode, "WEB_RES_UPDATE", "资源编辑", "异步请求", "/ajax/system/res/update");
// createRes(roleId, roleCode, "WEB_RES_FIND", "资源查询", "异步请求", "/ajax/system/res/find");
// createRes(roleId, roleCode, "WEB_RES_GET", "资源获取", "异步请求", "/ajax/system/res/get");
// createRes(roleId, roleCode, "WEB_RES_TREE", "资源树查询", "异步请求", "/ajax/system/res/tree");
// createRes(roleId, roleCode, "WEB_LOGERR", "错误日志", "网页地址", "/admin/system/logErr.htm");
// createRes(roleId, roleCode, "WEB_LOGERR_DELETE", "错误日志删除", "异步请求", "/ajax/system/logErr/delete");
// createRes(roleId, roleCode, "WEB_LOGERR_UPDATE", "错误日志更新", "异步请求", "/ajax/system/logErr/update");
// createRes(roleId, roleCode, "WEB_LOGERR_FIND", "错误日志查询", "异步请求", "/ajax/system/logErr/find");
}
{// 初始化一般管理资源
createRes(roleId, roleCode, "WEB", "网页资源", "目录", "");
createRes(roleId, roleCode, "WEB_INDEX", "主页", "网页地址", "/admin/index.htm");
createRes(roleId, roleCode, "WEB_INDEX_HOME", "首页", "网页地址", "/admin/home.htm");
createRes(roleId, roleCode, "WEB_INDEX_ROOT", "根页", "网页地址", "/");
createRes(roleId, roleCode, "WEB_USER", "用户管理", "网页地址", "/admin/system/user.htm");
createRes(roleId, roleCode, "WEB_USER_CREATE", "用户新增", "异步请求", "/ajax/system/user/create");
createRes(roleId, roleCode, "WEB_USER_DELETE", "用户删除", "异步请求", "/ajax/system/user/delete");
createRes(roleId, roleCode, "WEB_USER_UPDATE", "用户更新", "异步请求", "/ajax/system/user/update");
createRes(roleId, roleCode, "WEB_USER_FIND", "用户查询", "异步请求", "/ajax/system/user/find");
createRes(roleId, roleCode, "WEB_USER_GET", "用户获取", "异步请求", "/ajax/system/user/get");
createRes(roleId, roleCode, "WEB_USER_IMPORT", "用户导入", "异步请求", "/ajax/system/user/imports");
createRes(roleId, roleCode, "WEB_USER_EXPORT", "用户导出", "异步请求", "/ajax/system/user/exports");
createRes(roleId, roleCode, "WEB_DEPT", "机构管理", "网页地址", "/admin/system/dept.htm");
createRes(roleId, roleCode, "WEB_DEPT_CREATE", "机构新增", "异步请求", "/ajax/system/dept/create");
createRes(roleId, roleCode, "WEB_DEPT_DELETE", "机构删除", "异步请求", "/ajax/system/dept/delete");
createRes(roleId, roleCode, "WEB_DEPT_UPDATE", "机构更新", "异步请求", "/ajax/system/dept/update");
createRes(roleId, roleCode, "WEB_DEPT_FIND", "机构查询", "异步请求", "/ajax/system/dept/find");
createRes(roleId, roleCode, "WEB_DEPT_GET", "机构获取", "异步请求", "/ajax/system/dept/get");
createRes(roleId, roleCode, "WEB_DEPT_TREE", "机构树查询", "异步请求", "/ajax/system/dept/tree");
createRes(roleId, roleCode, "WEB_DEPT_IMPORT", "机构导入", "异步请求", "/ajax/system/dept/imports");
createRes(roleId, roleCode, "WEB_DEPT_EXPORT", "机构导出", "异步请求", "/ajax/system/dept/exports");
createRes(roleId, roleCode, "WEB_FILE", "文件管理", "网页地址", "/admin/system/file.htm");
createRes(roleId, roleCode, "WEB_FILE_DELETE", "文件删除", "异步请求", "/ajax/system/file/delete");
createRes(roleId, roleCode, "WEB_FILE_FIND", "文件查询", "异步请求", "/ajax/system/file/find");
createRes(roleId, roleCode, "WEB_ROLE", "角色管理", "网页地址", "/admin/system/role.htm");
createRes(roleId, roleCode, "WEB_ROLE_CREATE", "角色新增", "异步请求", "/ajax/system/role/create");
createRes(roleId, roleCode, "WEB_ROLE_DELETE", "角色删除", "异步请求", "/ajax/system/role/delete");
createRes(roleId, roleCode, "WEB_ROLE_UPDATE", "角色更新", "异步请求", "/ajax/system/role/update");
createRes(roleId, roleCode, "WEB_ROLE_FIND", "角色查询", "异步请求", "/ajax/system/role/find");
createRes(roleId, roleCode, "WEB_ROLE_GET", "角色获取", "异步请求", "/ajax/system/role/get");
createRes(roleId, roleCode, "WEB_ROLE_RESCHECK", "角色资源分配", "异步请求", "/ajax/system/roleRes/check");
createRes(roleId, roleCode, "WEB_ROLE_ROLERES", "角色资源关系查询", "异步请求", "/ajax/system/roleRes/find");
createRes(roleId, roleCode, "WEB_TASK", "计划任务", "网页地址", "/admin/system/schedule.htm");
createRes(roleId, roleCode, "WEB_TOKENS", "登录凭证管理", "网页地址", "/admin/system/tokens.htm");
createRes(roleId, roleCode, "WEB_TOKENS_FIND", "登录凭证查询", "异步请求", "/ajax/system/tokens/find");
createRes(roleId, roleCode, "WEB_TOKENS_EXPORT", "凭证导出", "异步请求", "/ajax/system/tokens/exports");
createRes(roleId, roleCode, "WEB_TOKENS_LOGOUT", "凭证注销", "异步请求", "/ajax/system/tokens/logout");
}
}
private void createRes(Long roleId, String roleCode, String code, String name, String resType, String value) {
ResCreateRequest resCreateRequest = new ResCreateRequest();
resCreateRequest.setResName(name);
resCreateRequest.setResCode(code);
resCreateRequest.setResType(resType);
resCreateRequest.setResValue(value);
resCreateRequest.setValid(true);
ResCreateResponse resCreateResponse = resManager.create(resCreateRequest, token);
if (resCreateResponse.hasError()) {
System.err.println("==========>" + MapperUtil.toJson(resCreateResponse));
}
assertTrue(!resCreateResponse.hasError());
allocateRes(roleId, roleCode, resCreateResponse.getId(), code);
}
private Long createRole(String roleCode, String roleName, String roleComment) {
RoleCreateRequest roleCreateRequest = new RoleCreateRequest();
roleCreateRequest.setCode(roleCode);
roleCreateRequest.setName(roleName);
roleCreateRequest.setComment(roleComment);
RoleCreateResponse roleCreateResponse = roleManager.create(roleCreateRequest, token);
if (roleCreateResponse.hasError()) {
System.err.println("==========>" + MapperUtil.toJson(roleCreateResponse));
}
assertTrue(!roleCreateResponse.hasError());
return roleCreateResponse.getId();
}
private void allocateRes(Long roleId, String roleCode, Long resId, String resCode) {
RoleResCheckRequest roleResCheckRequest = new RoleResCheckRequest();
roleResCheckRequest.setRoleId(roleId);
roleResCheckRequest.setRoleCode(roleCode);
roleResCheckRequest.setResId(resId);
roleResCheckRequest.setResCode(resCode);
roleResCheckRequest.setChecked(true);
RoleResCheckResponse roleResCheckResponse = roleCreateRequest.check(roleResCheckRequest, token);
if (roleResCheckResponse.hasError()) {
System.err.println("==========>" + MapperUtil.toJson(roleResCheckResponse));
}
assertTrue(!roleResCheckResponse.hasError());
}
}

@ -67,10 +67,9 @@
FROM
<include refid="table"/>
WHERE
1 = 1
<#if table.hasSeachKey()>
1 = 2
<if test="request.keyword != null and request.keyword != ''">
1 = 1
<#list table.fields as f>
<#if f.isQuery>
<#if dataBase == 'Oracle'>
@ -84,6 +83,7 @@
</#if>
</#if>
</#list>
</if>
<#else>
1 = 2
</#if>

Loading…
Cancel
Save

Powered by TurnKey Linux.