| package com.stylefeng.guns.generator.action.config; | 
|   | 
| import com.baomidou.mybatisplus.generator.config.rules.DbType; | 
| import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; | 
| import com.stylefeng.guns.core.support.StrKit; | 
| import com.stylefeng.guns.core.util.ToolUtil; | 
| import com.stylefeng.guns.generator.action.model.GenQo; | 
|   | 
| import java.io.File; | 
|   | 
| /** | 
|  * 默认的代码生成的配置 | 
|  * | 
|  * @author fengshuonan | 
|  * @date 2017-10-28-下午8:27 | 
|  */ | 
| public class WebGeneratorConfig extends AbstractGeneratorConfig { | 
|   | 
|     private GenQo genQo; | 
|   | 
|     public WebGeneratorConfig(GenQo genQo) { | 
|         this.genQo = genQo; | 
|     } | 
|   | 
|     @Override | 
|     protected void config() { | 
|         /** | 
|          * 数据库配置 | 
|          */ | 
|         dataSourceConfig.setDbType(DbType.MYSQL); | 
|         dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); | 
|         dataSourceConfig.setUsername(genQo.getUserName()); | 
|         dataSourceConfig.setPassword(genQo.getPassword()); | 
|         dataSourceConfig.setUrl(genQo.getUrl()); | 
|   | 
|         /** | 
|          * 全局配置 | 
|          */ | 
|         globalConfig.setOutputDir(genQo.getProjectPath() + File.separator + "src" + File.separator + "main" + File.separator + "java"); | 
|         globalConfig.setFileOverride(true); | 
|         globalConfig.setEnableCache(false); | 
|         globalConfig.setBaseResultMap(true); | 
|         globalConfig.setBaseColumnList(true); | 
|         globalConfig.setOpen(false); | 
|         globalConfig.setAuthor(genQo.getAuthor()); | 
|         contextConfig.setProPackage(genQo.getProjectPackage()); | 
|         contextConfig.setCoreBasePackage(genQo.getCorePackage()); | 
|   | 
|         /** | 
|          * 生成策略 | 
|          */ | 
|         if (genQo.getIgnoreTabelPrefix() != null) { | 
|             strategyConfig.setTablePrefix(new String[]{genQo.getIgnoreTabelPrefix()}); | 
|         } | 
|         strategyConfig.setInclude(new String[]{genQo.getTableName()}); | 
|         strategyConfig.setNaming(NamingStrategy.underline_to_camel); | 
|         packageConfig.setParent(null); | 
|         packageConfig.setEntity(genQo.getProjectPackage() + ".modular.system.model"); | 
|         packageConfig.setMapper(genQo.getProjectPackage() + ".modular.system.dao"); | 
|         packageConfig.setXml(genQo.getProjectPackage() + ".modular.system.dao.mapping"); | 
|   | 
|         /** | 
|          * 业务代码配置 | 
|          */ | 
|         contextConfig.setBizChName(genQo.getBizName()); | 
|         contextConfig.setModuleName(genQo.getModuleName()); | 
|         contextConfig.setProjectPath(genQo.getProjectPath());//写自己项目的绝对路径 | 
|         if(ToolUtil.isEmpty(genQo.getIgnoreTabelPrefix())){ | 
|             String entityName = StrKit.toCamelCase(genQo.getTableName()); | 
|             contextConfig.setEntityName(StrKit.firstCharToUpperCase(entityName)); | 
|             contextConfig.setBizEnName(StrKit.firstCharToLowerCase(entityName)); | 
|         }else{ | 
|             String entiyName = StrKit.toCamelCase(StrKit.removePrefix(genQo.getTableName(), genQo.getIgnoreTabelPrefix())); | 
|             contextConfig.setEntityName(StrKit.firstCharToUpperCase(entiyName)); | 
|             contextConfig.setBizEnName(StrKit.firstCharToLowerCase(entiyName)); | 
|         } | 
|         sqlConfig.setParentMenuName(genQo.getParentMenuName());//这里写已有菜单的名称,当做父节点 | 
|   | 
|         /** | 
|          * mybatis-plus 生成器开关 | 
|          */ | 
|         contextConfig.setEntitySwitch(genQo.getEntitySwitch()); | 
|         contextConfig.setDaoSwitch(genQo.getDaoSwitch()); | 
|         contextConfig.setServiceSwitch(genQo.getServiceSwitch()); | 
|   | 
|         /** | 
|          * guns 生成器开关 | 
|          */ | 
|         contextConfig.setControllerSwitch(genQo.getControllerSwitch()); | 
|         contextConfig.setIndexPageSwitch(genQo.getIndexPageSwitch()); | 
|         contextConfig.setAddPageSwitch(genQo.getAddPageSwitch()); | 
|         contextConfig.setEditPageSwitch(genQo.getEditPageSwitch()); | 
|         contextConfig.setJsSwitch(genQo.getJsSwitch()); | 
|         contextConfig.setInfoJsSwitch(genQo.getInfoJsSwitch()); | 
|         contextConfig.setSqlSwitch(genQo.getSqlSwitch()); | 
|     } | 
| } |