• 在使用mybatis-plus时出现了,Cannot resolve symbol ‘setOutputDir’,应该导入com.baomidou.mybatisplus.generator.config.GlobalConfig类,

    而不是com.baomidou.mybatisplus.core.config.GlobalConfig


    image.png

    | package com.wzy;

    import com.baomidou.mybatisplus.annotation.DbType;
    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.generator.config.GlobalConfig;
    import com.baomidou.mybatisplus.generator.AutoGenerator;
    import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
    import com.baomidou.mybatisplus.generator.config.PackageConfig;
    import com.baomidou.mybatisplus.generator.config.StrategyConfig;
    import com.baomidou.mybatisplus.generator.config.rules.DateType;
    import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
    import org.junit.Test;

    public class getCode {
    @Test
    public void main2() {

    1. }<br /> @Test<br /> **public void **main1() {<br /> // 1、创建代码生成器<br /> AutoGenerator mpg = **new **AutoGenerator();<br /> // 2、全局配置<br /> GlobalConfig gc = **new **GlobalConfig();<br /> String projectPath = System.getProperty(**"user.dir"**);<br /> System.**out**.println(projectPath);<br /> //代码的输出路径,建议写绝对路径<br /> gc.setOutputDir(**"E:\\\\guli\\\\service\\\\service_edu" **+ **"/src/main/java"**);<br /> //设置作者<br /> gc.setAuthor(**"wzy"**);<br /> //生成后是否打开资源管理器<br /> gc.setOpen(**false**);<br /> //重新生成时文件是否覆盖<br /> gc.setFileOverride(**false**);<br /> /*<br /> * mp生成service层代码,默认接口名称第一个字母有 I 比如:IUserService<br /> * 去掉Service接口的首字母 I<br /> * */<br /> gc.setServiceName(**"%sService"**);<br /> //主键策略<br /> /**<br /> * IdType.ID_WORKER:如果表中主键使用 int等整型,使用它<br /> * IdType.ID_WORKER_STR:如果表中主键使用 char 等字符型,使用它<br /> */<br /> gc.setIdType(IdType.**ID_WORKER_STR**);<br /> //定义生成的实体类中日期类型<br /> gc.setDateType(DateType.**ONLY_DATE**);<br /> //开启Swagger2模式<br /> gc.setSwagger2(**true**);<br /> mpg.setGlobalConfig(gc);
    2. // 3、数据源配置,mpg与application.yaml使用的不是一个配置,需要单独配置。<br /> DataSourceConfig dsc = **new **DataSourceConfig();<br /> dsc.setUrl(**"jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8"**);<br /> dsc.setDriverName(**"com.mysql.cj.jdbc.Driver"**);<br /> dsc.setUsername(**"root"**);<br /> dsc.setPassword(**"941941"**);<br /> dsc.setDbType(DbType.**MYSQL**);<br /> mpg.setDataSource(dsc);
    3. // 4、包配置<br /> PackageConfig pc = **new **PackageConfig();<br /> //com.wzy.serviceedu<br /> pc.setParent(**"com.wzy"**);//域名<br /> pc.setModuleName(**"serviceedu"**); //模块名<br /> //controller 层<br /> pc.setController(**"controller"**);<br /> //entity JavaBean<br /> pc.setEntity(**"entity"**);<br /> //service层<br /> pc.setService(**"service"**);<br /> //dao层<br /> pc.setMapper(**"mapper"**);<br /> mpg.setPackageInfo(pc);
    4. // 5、策略配置<br /> StrategyConfig strategy = **new **StrategyConfig();<br /> strategy.setInclude(**"edu_teacher"**);//要逆向生成的表,的表名<br /> //数据库表映射到实体的命名策略,小驼峰。比如:gmtCreate<br /> strategy.setNaming(NamingStrategy.**underline_to_camel**);<br /> //生成实体时去掉表前缀<br /> strategy.setTablePrefix(pc.getModuleName() + **"_"**);<br /> //数据库表字段映射到实体的命名策略<br /> strategy.setColumnNaming(NamingStrategy.**underline_to_camel**);<br /> // lombok 模型 @Accessors(chain =true) setter链式操作<br /> strategy.setEntityLombokModel(**true**);<br /> //restful api风格控制器<br /> strategy.setRestControllerStyle(**true**);<br /> //url中驼峰转连字符<br /> strategy.setControllerMappingHyphenStyle(**true**);<br /> mpg.setStrategy(strategy);<br /> // 6、执行<br /> mpg.execute();<br /> }

    }

    | | —- |

    生成效果预览:
    image.png