快捷搜索: 王者荣耀 脱发

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层不需要自己定义。

三、代码生成器详细使用

经验分享 程序员 微信小程序 职场和发展