java工具–自动生成mybatis映射类
-
maven包
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>2.0.8</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency>
-
代码
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.DbType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; /** * 自动生成映射工具类 * @author */ public class AutoGeneratorHelper { /** * 测试 run 执行 * 更多使用查看 http://mp.baomidou.com */ public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); // 生成地址 gc.setOutputDir("C:/autoGenerator/"); gc.setFileOverride(true); // 开启 activeRecord 模式 gc.setActiveRecord(false); // XML 二级缓存 gc.setEnableCache(false); // XML ResultMap gc.setBaseResultMap(true); // XML columList gc.setBaseColumnList(false); gc.setAuthor("Ben."); // 自定义文件命名,注意 %s 会自动填充表实体属性! // gc.setMapperName("%sMapper"); // gc.setXmlName("%sMapper"); gc.setServiceName("%sService"); // gc.setServiceImplName("%sServiceImpl"); // gc.setControllerName("%sController"); // 执行完毕是否打开文件所在目录 gc.setOpen(false); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert()); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("1q2w3e4R!"); dsc.setUrl("jdbc:mysql://IP:3306/databaese?characterEncoding=utf8&useSSL=false"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); // 此处可以修改为您的表前缀 // strategy.setTablePrefix(new String[] { "bmd_", "mp_"}); // 表名生成策略 strategy.setNaming(NamingStrategy.underline_to_camel); // 字段名生成策略 // strategy.setFieldNaming(NamingStrategy.underline_to_camel); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setDbColumnUnderline(false); strategy.setSuperServiceImplClass("com.easypay.core.base.BaseServiceImpl"); // 自定义实体父类 // strategy.setSuperEntityClass("com.ls.entity.BaseEntity"); // 自定义实体,公共字段 // strategy.setSuperEntityColumns(new String[] { "id_", "enable_", "remark_", "create_by", "create_time", "update_by", "update_time"}); // 自定义 mapper 父类 // strategy.setSuperMapperClass("com.ls.mapper.BaseMapper"); // 自定义 service 父类 // strategy.setSuperServiceClass("com.ls.service.BaseService"); // 自定义 controller 父类 strategy.setSuperControllerClass("com.ls.web.controller.BaseController"); // 【实体】是否生成字段常量(默认 false) // public static final String ID = "test_id"; // strategy.setEntityColumnConstant(true); // 【实体】是否为构建者模型(默认 false) // public User setName(String name) {this.name = name; return this;} // strategy.setEntityBuliderModel(true); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); // 自定义包路径 pc.setParent("com.easypay"); pc.setEntity("entity"); pc.setMapper("dao.mapper"); pc.setXml("dao.mapper.xml"); // pc.setModuleName("test"); pc.setService("service"); pc.setServiceImpl("service.impl"); // 这里是控制器包名,默认 web pc.setController("controller"); mpg.setPackageInfo(pc); // 执行生成 mpg.execute(); } }