//package com.fdkankan.modeldemo.generator; // //import com.baomidou.mybatisplus.annotation.DbType; //import com.baomidou.mybatisplus.annotation.IdType; //import com.baomidou.mybatisplus.generator.AutoGenerator; //import com.baomidou.mybatisplus.generator.config.DataSourceConfig; //import com.baomidou.mybatisplus.generator.config.GlobalConfig; //import com.baomidou.mybatisplus.generator.config.PackageConfig; //import com.baomidou.mybatisplus.generator.config.StrategyConfig; //import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; //import com.baomidou.mybatisplus.generator.config.rules.DateType; //import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; //import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; // ///** // * 代码生成器 // * // *

// * 根据数据库中的表生成:数据库表映射对象、Mapper 接口、Mapper XML 文件(含基础的 ResultMap 和字段代码片段)、 Service // * 接口、Service 接口实现累、基础的 Controller 类。 // *

// *

// * 如果数据库设计符合规范,并且代码没有特殊要求。设置好表名前缀(无则忽略)、表字段前缀(无则忽略)后, 直接修改输出的路径、JDBC // * Url、数据库的账户和密码即可直接生成代码。 // *

// *

// * 生成后将 Mapper 中的 xml 包中的 XML 文件移动到 resource 下即可,XML 存放文件夹名为 Mapper // * 接口包名(全包名)的同名文件夹
// * 如 Mapper 接口包名为:com.example.mapper,那么在 resource 下新建同名文件夹:com.example.mapper,将 // * xml 文件移动到该文件夹下即可。 // *

// * // * @author wayne // * @since 2020-01-08 23:00 // */ //public class MappingGeneratorOracle { // // /** // * 生成代码输出路径,路径必须是绝对路径,不需要包含包名 // */ // private static final String OUTPUT_DIR = ".\\src\\main\\java\\com\\fdkankan\\modeldemo\\generator"; // /** // * 生成代码输出的包名 // *

// * 总包名,后续生成的 Mapper,Service 等将在该包下生成子包 // *

// */ // private static final String PACKAGE = "com.fdkankan.modeldemo"; // /** // * JDBC URL 说明: url地址前需要加上@,否则会报错 // */ // // private static final String JDBC_URL = "jdbc:oracle:thin:@//10.180.41.39:1521/resdb"; // /** // * 数据库账户 // */ // private static final String DB_USERNAME = "RES_VR"; // /** // * 数据库账户密码 // */ // private static final String DB_PASSWORD = "IDCqawsed@123."; // // /** // * 执行即可生成代码 需要添加 freemarker 依赖 org.freemarker // * freemarker 2.3.29 // */ // // 不要在src/main/java里面使用main方法,否则springboot项目某人为main方法的类就是启动类 //// public static void main(String[] args) { //// autoGenerator().execute(); //// } // // public static AutoGenerator autoGenerator() { // AutoGenerator autoGenerator = new AutoGenerator(); // autoGenerator.setGlobalConfig(globalConfig()); // autoGenerator.setDataSource(oracleDataSourceConfig()); // autoGenerator.setStrategy(strategyConfig()); // autoGenerator.setPackageInfo(packageConfig()); // autoGenerator.setTemplateEngine(new FreemarkerTemplateEngine()); // return autoGenerator; // } // // public static void main(String[] args) { // autoGenerator().execute(); // } // // /** // * 全局配置 // * // * @return {@link GlobalConfig} // */ // private static GlobalConfig globalConfig() { // GlobalConfig globalConfig = new GlobalConfig(); // globalConfig.setAuthor("dsx"); // // 设置代码输出位置,需要绝对路径 // globalConfig.setOutputDir(OUTPUT_DIR); // // 覆盖已有的代码 // globalConfig.setFileOverride(false); // // 基本表的 ResultMap // globalConfig.setBaseResultMap(true); // // 基本表字段片段 // globalConfig.setBaseColumnList(true); // // 开启基于 Model 操作数据库 // globalConfig.setActiveRecord(true); // // 设置 ID 类型 // globalConfig.setIdType(IdType.AUTO); // globalConfig.setDateType(DateType.ONLY_DATE); //// // 生成基本 Swagger2 文档 //// globalConfig.setSwagger2(true); // // 开启二级缓存 //// globalConfig.setEnableCache(true); // // 设置生成的对象名称规则,%s 表示当前的 Entity // // 数据库表映射对象名称规则 // globalConfig.setEntityName("%s"); // // 也可以使用下面这种就是末尾会以DO结尾 //// globalConfig.setEntityName("%sDO"); // // Mapper 接口名称规则 // globalConfig.setMapperName("%sMapper"); // // Mapper XML 文件名称规则 // globalConfig.setXmlName("%sMapper"); // // Controller 生成规则 // globalConfig.setControllerName("%sController"); // // Service 接口生成名称规则 // globalConfig.setServiceName("%sService"); // // Service 实现类生成名称规则 // globalConfig.setServiceImplName("%sServiceImpl"); // return globalConfig; // } // // /** // * 生成策略配置 // * // * @return StrategyConfig // */ // private static StrategyConfig strategyConfig() { // StrategyConfig strategyConfig = new StrategyConfig(); // strategyConfig.setCapitalMode(false); // strategyConfig.setEntityLombokModel(true); // strategyConfig.setRestControllerStyle(true); // strategyConfig.setNaming(NamingStrategy.underline_to_camel); // strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel); // // TODO 填写表前缀、表字段前缀,生成代码时去除字段前缀 // strategyConfig.setTablePrefix("t_"); // strategyConfig.setFieldPrefix("a_", "c_", "e_", "f_", "p_", "r_", "t_", "tf_"); // strategyConfig.setInclude("T_FULLPHOTO_FILEINDEX"); // return strategyConfig; // } // // /** // * MySQL 数据源配置 // * // * @return DataSourceConfig // */ // private static DataSourceConfig oracleDataSourceConfig() { // DataSourceConfig dataSourceConfig = new DataSourceConfig(); // dataSourceConfig.setDbType(DbType.ORACLE); // dataSourceConfig.setTypeConvert(new MySqlTypeConvert()); // dataSourceConfig.setDriverName("oracle.jdbc.driver.OracleDriver"); // dataSourceConfig.setUrl(JDBC_URL); // dataSourceConfig.setUsername(DB_USERNAME); // dataSourceConfig.setPassword(DB_PASSWORD); // return dataSourceConfig; // } // // /** // * 包相关配置信息 // *

// * 配置生成代码的包信息,如生成的 Mapper 包,Service 包等 // *

// */ // private static PackageConfig packageConfig() { // PackageConfig packageConfig = new PackageConfig(); // // 设置父包 // packageConfig.setParent(PACKAGE); // // TODO 设置生成代码的包 // // Controller 包 // packageConfig.setController("controller"); // // 数据库表映射对象包 // packageConfig.setEntity("entity"); // // Mapper 接口包,含 XML 文件 // packageConfig.setMapper("mapper"); // // Service 接口包 // packageConfig.setService("service"); // // Service 接口实现类包 // packageConfig.setServiceImpl("service.impl"); // return packageConfig; // } //} //