Commit 062d16bb by naan1993

代码生成重写

parent 76fe65ce
...@@ -9,7 +9,7 @@ import com.stylefeng.guns.common.persistence.model.Test; ...@@ -9,7 +9,7 @@ import com.stylefeng.guns.common.persistence.model.Test;
* </p> * </p>
* *
* @author stylefeng * @author stylefeng
* @since 2017-07-11 * @since 2017-12-09
*/ */
public interface TestMapper extends BaseMapper<Test> { public interface TestMapper extends BaseMapper<Test> {
......
...@@ -8,4 +8,9 @@ ...@@ -8,4 +8,9 @@
<result column="value" property="value" /> <result column="value" property="value" />
</resultMap> </resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, value
</sql>
</mapper> </mapper>
package com.stylefeng.guns.common.persistence.model; package com.stylefeng.guns.common.persistence.model;
import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable; import java.io.Serializable;
...@@ -10,8 +11,9 @@ import java.io.Serializable; ...@@ -10,8 +11,9 @@ import java.io.Serializable;
* </p> * </p>
* *
* @author stylefeng * @author stylefeng
* @since 2017-07-11 * @since 2017-12-09
*/ */
@TableName("test")
public class Test extends Model<Test> { public class Test extends Model<Test> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
<% for(menu in sqls.menus!){ %>
INSERT INTO `guns`.`menu` (`code`, `pcode`, `pcodes`, `name`, `icon`, `url`, `num`, `levels`, `ismenu`, `tips`, `status`, `isopen`) VALUES ('${menu.code}', '${menu.pcode}', '${menu.pcodes}', '${menu.name}', '${menu.icon}', '${menu.url}', '${menu.num}', '${menu.levels}', '${menu.ismenu}', NULL, '${menu.status}', '${menu.isopen}');
<% } %>
\ No newline at end of file
...@@ -36,9 +36,9 @@ public class GunsGeneratorConfig extends AbstractGeneratorConfig { ...@@ -36,9 +36,9 @@ public class GunsGeneratorConfig extends AbstractGeneratorConfig {
protected void packageConfig() { protected void packageConfig() {
packageConfig.setParent(null); packageConfig.setParent(null);
packageConfig.setEntity("com.stylefeng.guns.admin.modular.system.persistence.model"); packageConfig.setEntity("com.stylefeng.guns.admin.common.persistence.model");
packageConfig.setMapper("com.stylefeng.guns.admin.modular.system.persistence.dao"); packageConfig.setMapper("com.stylefeng.guns.admin.common.persistence.dao");
packageConfig.setXml("com.stylefeng.guns.admin.modular.system.persistence.dao.mapping"); packageConfig.setXml("com.stylefeng.guns.admin.common.persistence.dao.mapping");
} }
protected void contextConfig() { protected void contextConfig() {
......
...@@ -55,9 +55,9 @@ public class WebGeneratorConfig extends AbstractGeneratorConfig { ...@@ -55,9 +55,9 @@ public class WebGeneratorConfig extends AbstractGeneratorConfig {
strategyConfig.setInclude(new String[]{genQo.getTableName()}); strategyConfig.setInclude(new String[]{genQo.getTableName()});
strategyConfig.setNaming(NamingStrategy.underline_to_camel); strategyConfig.setNaming(NamingStrategy.underline_to_camel);
packageConfig.setParent(null); packageConfig.setParent(null);
packageConfig.setEntity(genQo.getProjectPackage() + ".modular.system.persistence.model"); packageConfig.setEntity(genQo.getProjectPackage() + ".common.persistence.model");
packageConfig.setMapper(genQo.getProjectPackage() + ".modular.system.persistence.dao"); packageConfig.setMapper(genQo.getProjectPackage() + ".common.persistence.dao");
packageConfig.setXml(genQo.getProjectPackage() + ".modular.system.persistence.dao.mapping"); packageConfig.setXml(genQo.getProjectPackage() + ".common.persistence.dao.mapping");
/** /**
* 业务代码配置 * 业务代码配置
...@@ -67,7 +67,7 @@ public class WebGeneratorConfig extends AbstractGeneratorConfig { ...@@ -67,7 +67,7 @@ public class WebGeneratorConfig extends AbstractGeneratorConfig {
contextConfig.setProjectPath(genQo.getProjectPath());//写自己项目的绝对路径 contextConfig.setProjectPath(genQo.getProjectPath());//写自己项目的绝对路径
if(ToolUtil.isEmpty(genQo.getIgnoreTabelPrefix())){ if(ToolUtil.isEmpty(genQo.getIgnoreTabelPrefix())){
String entityName = StrKit.toCamelCase(genQo.getTableName()); String entityName = StrKit.toCamelCase(genQo.getTableName());
contextConfig.setEntityName(entityName); contextConfig.setEntityName(StrKit.firstCharToUpperCase(entityName));
contextConfig.setBizEnName(StrKit.firstCharToLowerCase(entityName)); contextConfig.setBizEnName(StrKit.firstCharToLowerCase(entityName));
}else{ }else{
String entiyName = StrKit.toCamelCase(StrKit.removePrefix(genQo.getTableName(), genQo.getIgnoreTabelPrefix())); String entiyName = StrKit.toCamelCase(StrKit.removePrefix(genQo.getTableName(), genQo.getIgnoreTabelPrefix()));
......
...@@ -50,7 +50,7 @@ public abstract class GunsTemplateEngine extends AbstractTemplateEngine { ...@@ -50,7 +50,7 @@ public abstract class GunsTemplateEngine extends AbstractTemplateEngine {
template.binding("dao", super.daoConfig); template.binding("dao", super.daoConfig);
template.binding("service", super.serviceConfig); template.binding("service", super.serviceConfig);
template.binding("sqls", super.sqlConfig); template.binding("sqls", super.sqlConfig);
template.binding("table",super.tableInfo); template.binding("table", super.tableInfo);
} }
protected void generateFile(String template, String filePath) { protected void generateFile(String template, String filePath) {
...@@ -66,10 +66,18 @@ public abstract class GunsTemplateEngine extends AbstractTemplateEngine { ...@@ -66,10 +66,18 @@ public abstract class GunsTemplateEngine extends AbstractTemplateEngine {
if (!parentFile.exists()) { if (!parentFile.exists()) {
parentFile.mkdirs(); parentFile.mkdirs();
} }
FileOutputStream fileOutputStream = null;
try { try {
pageTemplate.renderTo(new FileOutputStream(file)); fileOutputStream = new FileOutputStream(file);
pageTemplate.renderTo(fileOutputStream);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} finally {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
} }
} }
......
...@@ -11,7 +11,7 @@ import com.stylefeng.guns.core.util.ToolUtil; ...@@ -11,7 +11,7 @@ import com.stylefeng.guns.core.util.ToolUtil;
*/ */
public class ContextConfig { public class ContextConfig {
private String templatePrefixPath = "template/advanced"; private String templatePrefixPath = "gunsTemplate/advanced";
private String projectPath = "D:\\ideaSpace\\adi";//模板输出的项目目录 private String projectPath = "D:\\ideaSpace\\adi";//模板输出的项目目录
private String bizChName; //业务名称 private String bizChName; //业务名称
private String bizEnName; //业务英文名称 private String bizEnName; //业务英文名称
...@@ -20,8 +20,8 @@ public class ContextConfig { ...@@ -20,8 +20,8 @@ public class ContextConfig {
private String proPackage = "com.stylefeng.guns.admin"; private String proPackage = "com.stylefeng.guns.admin";
private String coreBasePackage = "com.stylefeng.guns.core"; private String coreBasePackage = "com.stylefeng.guns.core";
private String modelPackageName = "com.stylefeng.guns.admin.modular.system.persistence.model"; //model的包名 private String modelPackageName = "com.stylefeng.guns.admin.common.persistence.model"; //model的包名
private String modelMapperPackageName = "com.stylefeng.guns.admin.modular.system.persistence.dao"; //model的dao private String modelMapperPackageName = "com.stylefeng.guns.admin.common.persistence.dao"; //model的dao
private String entityName; //实体的名称 private String entityName; //实体的名称
private Boolean controllerSwitch = true; //是否生成控制器代码开关 private Boolean controllerSwitch = true; //是否生成控制器代码开关
...@@ -39,8 +39,8 @@ public class ContextConfig { ...@@ -39,8 +39,8 @@ public class ContextConfig {
if (entityName == null) { if (entityName == null) {
entityName = bizEnBigName; entityName = bizEnBigName;
} }
modelPackageName = proPackage + "." + "modular.system.persistence.model"; modelPackageName = proPackage + "." + "common.persistence.model";
modelMapperPackageName = proPackage + "." + "modular.system.persistence.dao"; modelMapperPackageName = proPackage + "." + "common.persistence.dao";
} }
public String getBizEnBigName() { public String getBizEnBigName() {
......
package com.stylefeng.guns.generator.engine.config; package com.stylefeng.guns.generator.engine.config;
import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* <p> * <p>
* 资源 * 菜单
* </p> * </p>
* *
* @author fengshuonan * @author stylefeng
* @since 2017-11-23 * @since 2017-07-11
*/ */
@TableName("adi_uc_permission") public class Menu extends Model<Menu> {
public class Permission extends Model<Permission> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value="id", type= IdType.AUTO) /**
* 主键id
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 权限的标识 * 菜单编号
*/ */
private String code; private String code;
/** /**
* 父id * 菜单父编号
*/ */
private Long pid; private String pcode;
/** /**
* 父id的集合 * 当前菜单的所有父菜单编号
*/ */
private String pids; private String pcodes;
/** /**
* 权限名称 * 菜单名称
*/ */
private String name; private String name;
/** /**
* 权限请求路径 * 菜单图标
*/
private String url;
/**
* 菜单标识: Y-是菜单, N-不是
*/
@TableField("menu_flag")
private String menuFlag;
/**
* 图标
*/ */
private String icon; private String icon;
/** /**
* 菜单层级 * url地址
*/ */
private Integer level; private String url;
/** /**
* 排序 * 菜单排序号
*/ */
private Integer sort; private Integer num;
/** /**
* 创建时间 * 菜单层级
*/ */
@TableField("create_time") private Integer levels;
private Date createTime;
/** /**
* 修改时间 * 是否是菜单(1:是 0:不是)
*/ */
@TableField("update_time") private Integer ismenu;
private Date updateTime;
/** /**
* 是否可用:Y-可用;N-不可用 * 备注
*/ */
private String status; private String tips;
/** /**
* 是否删除: Y-已删除; N-未删除 * 菜单状态 : 1:启用 0:不启用
*/ */
@TableField("del_flag") private Integer status;
private String delFlag;
/** /**
* 菜单是否打开的标识: Y-打开, N-不打开 * 是否打开: 1:打开 0:不打开
*/ */
@TableField("open_flag") private Integer isopen;
private String openFlag;
public Long getId() { public Long getId() {
return id; return id;
...@@ -102,20 +89,20 @@ public class Permission extends Model<Permission> { ...@@ -102,20 +89,20 @@ public class Permission extends Model<Permission> {
this.code = code; this.code = code;
} }
public Long getPid() { public String getPcode() {
return pid; return pcode;
} }
public void setPid(Long pid) { public void setPcode(String pcode) {
this.pid = pid; this.pcode = pcode;
} }
public String getPids() { public String getPcodes() {
return pids; return pcodes;
} }
public void setPids(String pids) { public void setPcodes(String pcodes) {
this.pids = pids; this.pcodes = pcodes;
} }
public String getName() { public String getName() {
...@@ -126,22 +113,6 @@ public class Permission extends Model<Permission> { ...@@ -126,22 +113,6 @@ public class Permission extends Model<Permission> {
this.name = name; this.name = name;
} }
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getMenuFlag() {
return menuFlag;
}
public void setMenuFlag(String menuFlag) {
this.menuFlag = menuFlag;
}
public String getIcon() { public String getIcon() {
return icon; return icon;
} }
...@@ -150,60 +121,60 @@ public class Permission extends Model<Permission> { ...@@ -150,60 +121,60 @@ public class Permission extends Model<Permission> {
this.icon = icon; this.icon = icon;
} }
public Integer getLevel() { public String getUrl() {
return level; return url;
} }
public void setLevel(Integer level) { public void setUrl(String url) {
this.level = level; this.url = url;
} }
public Integer getSort() { public Integer getNum() {
return sort; return num;
} }
public void setSort(Integer sort) { public void setNum(Integer num) {
this.sort = sort; this.num = num;
} }
public Date getCreateTime() { public Integer getLevels() {
return createTime; return levels;
} }
public void setCreateTime(Date createTime) { public void setLevels(Integer levels) {
this.createTime = createTime; this.levels = levels;
} }
public Date getUpdateTime() { public Integer getIsmenu() {
return updateTime; return ismenu;
} }
public void setUpdateTime(Date updateTime) { public void setIsmenu(Integer ismenu) {
this.updateTime = updateTime; this.ismenu = ismenu;
} }
public String getStatus() { public String getTips() {
return status; return tips;
} }
public void setStatus(String status) { public void setTips(String tips) {
this.status = status; this.tips = tips;
} }
public String getDelFlag() { public Integer getStatus() {
return delFlag; return status;
} }
public void setDelFlag(String delFlag) { public void setStatus(Integer status) {
this.delFlag = delFlag; this.status = status;
} }
public String getOpenFlag() { public Integer getIsopen() {
return openFlag; return isopen;
} }
public void setOpenFlag(String openFlag) { public void setIsopen(Integer isopen) {
this.openFlag = openFlag; this.isopen = isopen;
} }
@Override @Override
...@@ -213,22 +184,20 @@ public class Permission extends Model<Permission> { ...@@ -213,22 +184,20 @@ public class Permission extends Model<Permission> {
@Override @Override
public String toString() { public String toString() {
return "Permission{" + return "Menu{" +
"permId=" + id + "id=" + id +
", code=" + code + ", code=" + code +
", pid=" + pid + ", pcode=" + pcode +
", pids=" + pids + ", pcodes=" + pcodes +
", name=" + name + ", name=" + name +
", url=" + url +
", menuFlag=" + menuFlag +
", icon=" + icon + ", icon=" + icon +
", level=" + level + ", url=" + url +
", sort=" + sort + ", num=" + num +
", createTime=" + createTime + ", levels=" + levels +
", updateTime=" + updateTime + ", ismenu=" + ismenu +
", tips=" + tips +
", status=" + status + ", status=" + status +
", delFlag=" + delFlag + ", isopen=" + isopen +
", openFlag=" + openFlag +
"}"; "}";
} }
} }
package com.stylefeng.guns.generator.engine.config; package com.stylefeng.guns.generator.engine.config;
import com.baomidou.mybatisplus.toolkit.IdWorker; import com.baomidou.mybatisplus.toolkit.IdWorker;
import com.stylefeng.guns.core.constant.IsMenu;
import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.core.util.ToolUtil;
import java.sql.Connection; import java.sql.Connection;
...@@ -26,14 +27,14 @@ public class SqlConfig { ...@@ -26,14 +27,14 @@ public class SqlConfig {
private String parentMenuName; private String parentMenuName;
private List<Permission> menus = new ArrayList<>(6); private List<Menu> menus = new ArrayList<>(6);
public void init() { public void init() {
this.sqlPathTemplate = "\\src\\main\\java\\{}.sql"; this.sqlPathTemplate = "\\src\\main\\java\\{}.sql";
if(parentMenuName == null){ if (parentMenuName == null) {
return ; return;
} }
//根据父菜单查询数据库中的pcode和pcodes //根据父菜单查询数据库中的pcode和pcodes
...@@ -44,80 +45,80 @@ public class SqlConfig { ...@@ -44,80 +45,80 @@ public class SqlConfig {
} }
//业务菜单 //业务菜单
Permission menu = new Permission(); Menu menu = new Menu();
menu.setId(IdWorker.getId()); menu.setId(IdWorker.getId());
menu.setCode(contextConfig.getBizEnName()); menu.setCode(contextConfig.getBizEnName());
menu.setPid(Long.valueOf(pcodeAndPcodes[0])); menu.setPcode(pcodeAndPcodes[0]);
menu.setPids(pcodeAndPcodes[1] + "[" + pcodeAndPcodes[0] + "],"); menu.setPcodes(pcodeAndPcodes[1] + "[" + pcodeAndPcodes[0] + "],");
menu.setName(contextConfig.getBizChName()); menu.setName(contextConfig.getBizChName());
menu.setIcon(""); menu.setIcon("");
menu.setUrl("/" + contextConfig.getBizEnName()); menu.setUrl("/" + contextConfig.getBizEnName());
menu.setSort(99); menu.setNum(99);
menu.setLevel(2); menu.setLevels(2);
menu.setMenuFlag("Y"); menu.setIsmenu(IsMenu.YES.getCode());
menu.setStatus("Y"); menu.setStatus(1);
menu.setOpenFlag("N"); menu.setIsopen(0);
menus.add(menu); menus.add(menu);
//列表 //列表
Permission list = createSubMenu(menu); Menu list = createSubMenu(menu);
list.setCode(contextConfig.getBizEnName() + "_list"); list.setCode(contextConfig.getBizEnName() + "_list");
list.setName(contextConfig.getBizChName() + "列表"); list.setName(contextConfig.getBizChName() + "列表");
list.setUrl("/" + contextConfig.getBizEnName() + "/list"); list.setUrl("/" + contextConfig.getBizEnName() + "/list");
menus.add(list); menus.add(list);
//添加 //添加
Permission add = createSubMenu(menu); Menu add = createSubMenu(menu);
add.setCode(contextConfig.getBizEnName() + "_add"); add.setCode(contextConfig.getBizEnName() + "_add");
add.setName(contextConfig.getBizChName() + "添加"); add.setName(contextConfig.getBizChName() + "添加");
add.setUrl("/" + contextConfig.getBizEnName() + "/add"); add.setUrl("/" + contextConfig.getBizEnName() + "/add");
menus.add(add); menus.add(add);
//更新 //更新
Permission update = createSubMenu(menu); Menu update = createSubMenu(menu);
update.setCode(contextConfig.getBizEnName() + "_update"); update.setCode(contextConfig.getBizEnName() + "_update");
update.setName(contextConfig.getBizChName() + "更新"); update.setName(contextConfig.getBizChName() + "更新");
update.setUrl("/" + contextConfig.getBizEnName() + "/update"); update.setUrl("/" + contextConfig.getBizEnName() + "/update");
menus.add(update); menus.add(update);
//删除 //删除
Permission delete = createSubMenu(menu); Menu delete = createSubMenu(menu);
delete.setCode(contextConfig.getBizEnName() + "_delete"); delete.setCode(contextConfig.getBizEnName() + "_delete");
delete.setName(contextConfig.getBizChName() + "删除"); delete.setName(contextConfig.getBizChName() + "删除");
delete.setUrl("/" + contextConfig.getBizEnName() + "/delete"); delete.setUrl("/" + contextConfig.getBizEnName() + "/delete");
menus.add(delete); menus.add(delete);
//详情 //详情
Permission detail = createSubMenu(menu); Menu detail = createSubMenu(menu);
detail.setCode(contextConfig.getBizEnName() + "_detail"); detail.setCode(contextConfig.getBizEnName() + "_detail");
detail.setName(contextConfig.getBizChName() + "详情"); detail.setName(contextConfig.getBizChName() + "详情");
detail.setUrl("/" + contextConfig.getBizEnName() + "/detail"); detail.setUrl("/" + contextConfig.getBizEnName() + "/detail");
menus.add(detail); menus.add(detail);
} }
private Permission createSubMenu(Permission parentMenu) { private Menu createSubMenu(Menu parentMenu) {
Permission permission = new Permission(); Menu menu = new Menu();
permission.setId(IdWorker.getId()); menu.setId(IdWorker.getId());
permission.setPid(parentMenu.getId()); menu.setPcode(parentMenu.getCode());
permission.setPids(parentMenu.getPids() + "[" + parentMenu.getId() + "],"); menu.setPcodes(parentMenu.getPcodes() + "[" + parentMenu.getId() + "],");
permission.setIcon(""); menu.setIcon("");
permission.setSort(99); menu.setNum(99);
permission.setLevel(3); menu.setLevels(3);
permission.setMenuFlag("N"); menu.setIsmenu(IsMenu.NO.getCode());
permission.setStatus("Y"); menu.setStatus(1);
permission.setOpenFlag("N"); menu.setIsopen(0);
return permission; return menu;
} }
public String[] getPcodeAndPcodes() { public String[] getPcodeAndPcodes() {
PreparedStatement preparedStatement = null; PreparedStatement preparedStatement = null;
try { try {
preparedStatement = connection.prepareStatement("select * from adi_uc_permission where name like ?"); preparedStatement = connection.prepareStatement("select * from menu where name like ?");
preparedStatement.setString(1, "%" + parentMenuName + "%"); preparedStatement.setString(1, "%" + parentMenuName + "%");
ResultSet results = preparedStatement.executeQuery(); ResultSet results = preparedStatement.executeQuery();
while (results.next()) { while (results.next()) {
String pcode = String.valueOf(results.getLong("id")); String pcode = String.valueOf(results.getLong("id"));
String pcodes = results.getString("pids"); String pcodes = results.getString("pcodes");
if (ToolUtil.isNotEmpty(pcode) && ToolUtil.isNotEmpty(pcodes)) { if (ToolUtil.isNotEmpty(pcode) && ToolUtil.isNotEmpty(pcodes)) {
String[] strings = {pcode, pcodes}; String[] strings = {pcode, pcodes};
return strings; return strings;
...@@ -175,11 +176,11 @@ public class SqlConfig { ...@@ -175,11 +176,11 @@ public class SqlConfig {
this.sqlPathTemplate = sqlPathTemplate; this.sqlPathTemplate = sqlPathTemplate;
} }
public List<Permission> getMenus() { public List<Menu> getMenus() {
return menus; return menus;
} }
public void setMenus(List<Permission> menus) { public void setMenus(List<Menu> menus) {
this.menus = menus; this.menus = menus;
} }
} }
<% for(menu in sqls.menus!){ %>
INSERT INTO `guns`.`menu` (`id`, `code`, `pcode`, `pcodes`, `name`, `icon`, `url`, `num`, `levels`, `ismenu`, `tips`, `status`, `isopen`) VALUES ('${menu.id}', '${menu.code}', '${menu.pcode}', '${menu.pcodes}', '${menu.name}', '${menu.icon}', '${menu.url}', '${menu.num}', '${menu.levels}', '${menu.ismenu}', NULL, '${menu.status}', '${menu.isopen}');
<% } %>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment