MyBatis|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(); }

自动生成
MyBatis|MyBatisPlus的代码生成器
文章图片

其中生成的EmployeeServiceImpl实现类继承了ServiceImpl父类
@Service public class EmployeeServiceImpl extends ServiceImpl implements EmployeeService {}

在父类ServiceImpl中已经完成了Mapper对象的注入,直接在EmployeeServiceImpl中可以使用,在父类ServiceImpl中也提供了常用的CRUD方法,基本的一些CRUD方法在Service层不需要自己定义。
MyBatis|MyBatisPlus的代码生成器
文章图片

三、代码生成器详细使用 【MyBatis|MyBatisPlus的代码生成器】代码生成器详细使用

    推荐阅读