fix 修复代码生成模板导出逻辑与多余空行问题

This commit is contained in:
疯狂的狮子Li
2026-08-03 15:34:56 +08:00
parent 2ac9dd3468
commit 5bcdfa8016
19 changed files with 34 additions and 78 deletions
@@ -59,10 +59,10 @@ public class ${ClassName}Controller extends BaseController {
} }
</#if> </#if>
<#if enableExport>
/** /**
* 导出${functionName}列表 * 导出${functionName}列表
*/ */
<#if enableExport>
@SaCheckPermission("${permissionPrefix}:export") @SaCheckPermission("${permissionPrefix}:export")
@Log(title = "${functionName}", businessType = BusinessType.EXPORT) @Log(title = "${functionName}", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
@@ -153,5 +153,3 @@ public class ${ClassName}Controller extends BaseController {
return toAjax(${className}Service.deleteWithValidByIds(List.of(${pkColumn.javaField}s), true)); return toAjax(${className}Service.deleteWithValidByIds(List.of(${pkColumn.javaField}s), true));
} }
} }
@@ -46,5 +46,3 @@ public class ${ClassName} extends BaseEntity {
</#list> </#list>
} }
@@ -13,6 +13,3 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
public interface ${ClassName}Mapper extends BaseMapperPlus<${ClassName}, ${ClassName}Vo> { public interface ${ClassName}Mapper extends BaseMapperPlus<${ClassName}, ${ClassName}Vo> {
} }
@@ -101,7 +101,5 @@ public interface I${ClassName}Service {
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<${pkColumn.javaType}> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<${pkColumn.javaType}> ids, Boolean isValid);
} }
@@ -43,7 +43,7 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
private final ${ClassName}Mapper ${className}Mapper; private final ${ClassName}Mapper ${className}Mapper;
/** /**
* 查询${functionName} * 查询${functionName}
* *
* @param ${pkColumn.javaField} 主键 * @param ${pkColumn.javaField} 主键
@@ -342,6 +342,5 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
} }
return ${className}Mapper.deleteByIds(ids) > 0; return ${className}Mapper.deleteByIds(ids) > 0;
} }
} }
@@ -17,8 +17,6 @@ import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
* ${functionName}视图对象 ${tableName} * ${functionName}视图对象 ${tableName}
* *
@@ -61,5 +59,3 @@ public class ${ClassName}Vo implements Serializable {
</#list> </#list>
} }
@@ -92,7 +92,3 @@ export function del${BusinessName}(${pkColumn.javaField}: string | number | Arra
method: 'delete' method: 'delete'
}); });
} }
@@ -367,8 +367,7 @@ export default function ${BusinessName}Page() {
<ProFormText name="${pkColumn.javaField}" hidden /> <ProFormText name="${pkColumn.javaField}" hidden />
<#list columns as column> <#list columns as column>
<#if (column.insert || column.edit) && !column.pk> <#if (column.insert || column.edit) && !column.pk>
<#assign field = column.javaField> <#if column.javaField == treeParentCode>
<#if field == treeParentCode>
<ProFormTreeSelect <ProFormTreeSelect
name="${column.javaField}" name="${column.javaField}"
label="${column.columnLabel}" label="${column.columnLabel}"
@@ -423,7 +422,3 @@ export default function ${BusinessName}Page() {
</PageContainer> </PageContainer>
); );
} }
@@ -361,7 +361,6 @@ query = apply${column.capJavaField}DateRange(query, params.${column.javaField}Ra
<ProFormText name="${pkColumn.javaField}" hidden /> <ProFormText name="${pkColumn.javaField}" hidden />
<#list columns as column> <#list columns as column>
<#if (column.insert || column.edit) && !column.pk> <#if (column.insert || column.edit) && !column.pk>
<#assign field = column.javaField>
<#if column.htmlType == "input"> <#if column.htmlType == "input">
<ProFormText name="${column.javaField}" label="${column.columnLabel}" <#if column.required>rules={[{ required: true, message: '${column.columnLabel}不能为空' }]}</#if> /> <ProFormText name="${column.javaField}" label="${column.columnLabel}" <#if column.required>rules={[{ required: true, message: '${column.columnLabel}不能为空' }]}</#if> />
<#elseif column.htmlType == "textarea"> <#elseif column.htmlType == "textarea">
@@ -405,7 +404,3 @@ query = apply${column.capJavaField}DateRange(query, params.${column.javaField}Ra
</PageContainer> </PageContainer>
); );
} }
@@ -52,6 +52,3 @@ export interface ${BusinessName}Query<#if !table.tree> extends PageQuery</#if> {
*/ */
params?: Record<string, unknown>; params?: Record<string, unknown>;
} }
@@ -14,9 +14,7 @@ values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, 3, '#
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, 4, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:remove', '#', 1761000000000000103, 1761100000000000001, sysdate(), null, null, ''); values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, 4, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:remove', '#', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
<#if enableExport>
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, 5, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:export', '#', 1761000000000000103, 1761100000000000001, sysdate(), null, null, ''); values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, 5, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:export', '#', 1761000000000000103, 1761100000000000001, sysdate(), null, null, '');
</#if>
@@ -14,9 +14,7 @@ values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, 3, '#
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, 4, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:remove', '#', 1761000000000000103, 1761100000000000001, sysdate, null, null, ''); values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, 4, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:remove', '#', 1761000000000000103, 1761100000000000001, sysdate, null, null, '');
<#if enableExport>
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, 5, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:export', '#', 1761000000000000103, 1761100000000000001, sysdate, null, null, ''); values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, 5, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:export', '#', 1761000000000000103, 1761100000000000001, sysdate, null, null, '');
</#if>
@@ -14,10 +14,7 @@ values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, 3, '#
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, 4, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:remove', '#', 1761000000000000103, 1761100000000000001, now(), null, null, ''); values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, 4, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:remove', '#', 1761000000000000103, 1761100000000000001, now(), null, null, '');
<#if enableExport>
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, 5, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:export', '#', 1761000000000000103, 1761100000000000001, now(), null, null, ''); values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, 5, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:export', '#', 1761000000000000103, 1761100000000000001, now(), null, null, '');
</#if>
@@ -14,9 +14,7 @@ values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, 3, '#
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, 4, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:remove', '#', 1761000000000000103, 1761100000000000001, getdate(), null, null, ''); values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, 4, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:remove', '#', 1761000000000000103, 1761100000000000001, getdate(), null, null, '');
<#if enableExport>
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, 5, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:export', '#', 1761000000000000103, 1761100000000000001, getdate(), null, null, ''); values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, 5, '#', '', 'N', 'Y', 'F', '0', '0', '${permissionPrefix}:export', '#', 1761000000000000103, 1761100000000000001, getdate(), null, null, '');
</#if>
@@ -1,5 +1,7 @@
import type { ${BusinessName}Form, ${BusinessName}Query, ${BusinessName}VO } from '@/api/${moduleName}/${businessName}/types'; import type { ${BusinessName}Form, ${BusinessName}Query, ${BusinessName}VO } from '@/api/${moduleName}/${businessName}/types';
<#if !table.tree>
import type { PageResult } from '@/api/types'; import type { PageResult } from '@/api/types';
</#if>
import type { AxiosPromise } from '@/utils/api-types'; import type { AxiosPromise } from '@/utils/api-types';
import request from '@/utils/request'; import request from '@/utils/request';
@@ -8,8 +10,7 @@ import request from '@/utils/request';
* @param query * @param query
* @returns {*} * @returns {*}
*/ */
export const list${BusinessName} = (query?: ${BusinessName}Query): AxiosPromise<<#if table.tree>${BusinessName}VO[]<#else>PageResult<${BusinessName}VO></#if>> => {
export const list${BusinessName} = (query?: ${BusinessName}Query): AxiosPromise<PageResult<${BusinessName}VO>> => {
return request({ return request({
url: '/${moduleName}/${businessName}/list', url: '/${moduleName}/${businessName}/list',
method: 'get', method: 'get',
@@ -98,6 +99,3 @@ export const del${BusinessName} = (${pkColumn.javaField}: string | number | Arra
method: 'delete' method: 'delete'
}); });
}; };
@@ -45,7 +45,7 @@
</#if> </#if>
</el-select> </el-select>
</el-form-item> </el-form-item>
<#elseif (column.htmlType == "select" || column.htmlType == "radio") && column.dictType?has_content> <#elseif (column.htmlType == "select" || column.htmlType == "radio") && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${column.columnLabel}" clearable> <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${column.columnLabel}" clearable>
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
@@ -312,7 +312,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "select" && column.dictType?has_content> <#elseif column.htmlType == "select" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-select v-model="form.${column.javaField}" placeholder="请选择${column.columnLabel}"> <el-select v-model="form.${column.javaField}" placeholder="请选择${column.columnLabel}">
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
@@ -329,7 +329,7 @@
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "checkbox" && column.dictType?has_content> <#elseif column.htmlType == "checkbox" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-checkbox-group v-model="form.${column.javaField}"> <el-checkbox-group v-model="form.${column.javaField}">
<el-checkbox>请选择字典生成</el-checkbox> <el-checkbox>请选择字典生成</el-checkbox>
@@ -349,7 +349,7 @@
>{{dict.label}}</el-radio> >{{dict.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "radio" && column.dictType?has_content> <#elseif column.htmlType == "radio" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-radio-group v-model="form.${column.javaField}"> <el-radio-group v-model="form.${column.javaField}">
<el-radio value="1">请选择字典生成</el-radio> <el-radio value="1">请选择字典生成</el-radio>
@@ -689,4 +689,3 @@ onMounted(() => {
getList(); getList();
}); });
</script> </script>
@@ -45,7 +45,7 @@
</#if> </#if>
</el-select> </el-select>
</el-form-item> </el-form-item>
<#elseif (column.htmlType == "select" || column.htmlType == "radio") && column.dictType?has_content> <#elseif (column.htmlType == "select" || column.htmlType == "radio") && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${column.columnLabel}" clearable > <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${column.columnLabel}" clearable >
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
@@ -60,7 +60,7 @@
placeholder="请选择${column.columnLabel}" placeholder="请选择${column.columnLabel}"
/> />
</el-form-item> </el-form-item>
<#elseif column.htmlType == "datetime" && column.queryType == "BETWEEN"> <#elseif column.htmlType == "datetime" && column.queryType == "BETWEEN" && column.query>
<el-form-item label="${column.columnLabel}" style="width: 308px"> <el-form-item label="${column.columnLabel}" style="width: 308px">
<el-date-picker <el-date-picker
v-model="dateRange${column.capJavaField}" v-model="dateRange${column.capJavaField}"
@@ -233,7 +233,8 @@
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="${businessName}FormRef" :model="form" :rules="rules" label-width="80px"> <el-form ref="${businessName}FormRef" :model="form" :rules="rules" label-width="80px">
<#list columns as column> <#list columns as column>
<#if (column.insert || column.edit) && !column.pk>`n<#if column.htmlType == "input"> <#if (column.insert || column.edit) && !column.pk>
<#if column.htmlType == "input">
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-input v-model="form.${column.javaField}" placeholder="请输入${column.columnLabel}" /> <el-input v-model="form.${column.javaField}" placeholder="请输入${column.columnLabel}" />
</el-form-item> </el-form-item>
@@ -268,7 +269,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "select" && column.dictType?has_content> <#elseif column.htmlType == "select" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-select v-model="form.${column.javaField}" placeholder="请选择${column.columnLabel}"> <el-select v-model="form.${column.javaField}" placeholder="请选择${column.columnLabel}">
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
@@ -285,7 +286,7 @@
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "checkbox" && column.dictType?has_content> <#elseif column.htmlType == "checkbox" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-checkbox-group v-model="form.${column.javaField}"> <el-checkbox-group v-model="form.${column.javaField}">
<el-checkbox>请选择字典生成</el-checkbox> <el-checkbox>请选择字典生成</el-checkbox>
@@ -305,7 +306,7 @@
>{{dict.label}}</el-radio> >{{dict.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "radio" && column.dictType?has_content> <#elseif column.htmlType == "radio" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-radio-group v-model="form.${column.javaField}"> <el-radio-group v-model="form.${column.javaField}">
<el-radio value="1">请选择字典生成</el-radio> <el-radio value="1">请选择字典生成</el-radio>
@@ -380,6 +381,9 @@ import { useTableSelection } from '@/hooks/table/useTableSelection';
<#if needDict> <#if needDict>
import { useDict } from '@/utils/dict'; import { useDict } from '@/utils/dict';
</#if> </#if>
<#if needParseTime>
import { parseTime } from '@/utils/ruoyi';
</#if>
import modal from '@/plugins/modal'; import modal from '@/plugins/modal';
<#if enableExport> <#if enableExport>
import { download as requestDownload } from '@/utils/request'; import { download as requestDownload } from '@/utils/request';
@@ -400,7 +404,7 @@ const { loading, withLoading } = useLoading(true);
const { showSearch } = useSearchToggle(); const { showSearch } = useSearchToggle();
const total = ref(0); const total = ref(0);
<#list columns as column> <#list columns as column>
<#if column.htmlType == "datetime" && column.queryType == "BETWEEN"> <#if column.htmlType == "datetime" && column.queryType == "BETWEEN" && column.query>
const { const {
dateRange: dateRange${column.capJavaField}, dateRange: dateRange${column.capJavaField},
applyDateRange: apply${column.capJavaField}DateRange, applyDateRange: apply${column.capJavaField}DateRange,
@@ -472,7 +476,7 @@ const getList = async () => {
<#if needAddDateRange> <#if needAddDateRange>
let params = queryParams.value; let params = queryParams.value;
<#list columns as column> <#list columns as column>
<#if column.htmlType == "datetime" && column.queryType == "BETWEEN"> <#if column.htmlType == "datetime" && column.queryType == "BETWEEN" && column.query>
params = apply${column.capJavaField}DateRange(params); params = apply${column.capJavaField}DateRange(params);
</#if> </#if>
</#list> </#list>
@@ -505,7 +509,7 @@ const { resetQuery } = useSearchReset({
initialPageSize: 10, initialPageSize: 10,
resetExtras: () => { resetExtras: () => {
<#list columns as column> <#list columns as column>
<#if column.htmlType == "datetime" && column.queryType == "BETWEEN"> <#if column.htmlType == "datetime" && column.queryType == "BETWEEN" && column.query>
reset${column.capJavaField}DateRange(); reset${column.capJavaField}DateRange();
</#if> </#if>
</#list> </#list>
@@ -565,8 +569,8 @@ const handleDelete = async (row?: Partial<${BusinessName}VO>) => {
await getList(); await getList();
}; };
/** 导出按钮操作 */
<#if enableExport> <#if enableExport>
/** 导出按钮操作 */
const handleExport = () => { const handleExport = () => {
requestDownload( requestDownload(
'${moduleName}/${businessName}/export', '${moduleName}/${businessName}/export',
@@ -1,5 +1,3 @@
import type { BaseEntity<#if !table.tree>, PageQuery</#if> } from '@/api/types';
export interface ${BusinessName}VO { export interface ${BusinessName}VO {
<#list columns as column> <#list columns as column>
<#if column.list> <#if column.list>
@@ -4,6 +4,3 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${packageName}.mapper.${ClassName}Mapper"> <mapper namespace="${packageName}.mapper.${ClassName}Mapper">
</mapper> </mapper>