MyBatisPlus的代码生成器
一、MyBatisPlus代码生成器
-
MBG代码生成器是基于xml文件进行代码生成,可以生成实体类、Mapper接口、Mapper映射文件 MyBatisPlus代码生成器基于java代码来完成,可以生成实体类、Mapper接口、Mapper映射文件、Service层、Controller层。
二、代码生成器配置
@Test public void testGenerator(){ //1、全局配置 GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setActiveRecord(true) //是否支持AR模式 .setAuthor("Jian") .setOutputDir("D:\Java\workspace_idea\MybatisPlus\src\main\java") //生成路径 .setFileOverride(true) //是否支持文件覆盖 .setIdType(IdType.AUTO) //主键策略 .setServiceName("%sService") //设置生成的service接口名字首字符是否为I .setBaseResultMap(true) //设置是否支持映射结果集 .setBaseColumnList(true); //设置是否支持生成数据库列名集合 //2、数据源配置 DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbType(DbType.MYSQL) //设置数据库类型 .setDriverName("com.mysql.jdbc.Driver") .setUrl("jdbc:mysql://localhost:3306/mp") .setUsername("root") .setPassword("root"); //3、策略配置 StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig.setCapitalMode(true) //全局大写命名 .setNaming(NamingStrategy.underline_to_camel) //数据库表映射到实体的命名规则,下划线-->驼峰命名 .setTablePrefix("tbl_") //指定表名前缀 .setInclude("tbl_employee"); //生成的表 //4、包名策略配置 PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent("mpGenerator") .setMapper("mapper") //指定Mapper接口包名 .setService("service") //指定service层包名 .setController("controller") //指定Controller层包名 .setEntity("bean") //指定bean包名 .setXml("mapper"); //xml映射文件放在mapper包下 //5、整合配置 AutoGenerator autoGenerator = new AutoGenerator(); autoGenerator.setGlobalConfig(globalConfig) .setDataSource(dataSourceConfig) .setStrategy(strategyConfig) .setPackageInfo(packageConfig); //6、执行 autoGenerator.execute(); }
自动生成 其中生成的EmployeeServiceImpl实现类继承了ServiceImpl父类
@Service public class EmployeeServiceImpl extends ServiceImpl<EmployeeMapper, Employee> implements EmployeeService { }
在父类ServiceImpl中已经完成了Mapper对象的注入,直接在EmployeeServiceImpl中可以使用,在父类ServiceImpl中也提供了常用的CRUD方法,基本的一些CRUD方法在Service层不需要自己定义。