使用mybatisplus的逆向工程自动天生数据库中表对应的实体类、mapper、servi ...

打印 上一主题 下一主题

主题 996|帖子 996|积分 2988

使用mybatisplus的逆向工程自动天生数据库中表对应的实体类、mapper、service、serviceImpl、controller等文件

详细流程如下:

1、引入依赖

  1.         <dependency>
  2.             <groupId>org.mybatis.spring.boot</groupId>
  3.             <artifactId>mybatis-spring-boot-starter</artifactId>
  4.             <version>3.0.4</version>
  5.         </dependency>
  6.         <dependency>
  7.             <groupId>com.baomidou</groupId>
  8.             <artifactId>mybatis-plus-boot-starter</artifactId>
  9.             <version>3.4.3.1</version>
  10.         </dependency>
  11.         <dependency>
  12.             <groupId>com.baomidou</groupId>
  13.             <artifactId>mybatis-plus-generator</artifactId>
  14.             <version>3.3.2</version>
  15.         </dependency>
  16.         <dependency>
  17.             <groupId>org.apache.velocity</groupId>
  18.             <artifactId>velocity-engine-core</artifactId>
  19.             <version>2.0</version>
  20.         </dependency>
复制代码
2、编写自动天生器配置并执行

就是项目中任意写个类,里面定义个main方法,执行下面的代码即可
  1. public class Generator {
  2.     public static void main(String[] args) {
  3.         AutoGenerator autoGenerator = new AutoGenerator();
  4.         // 数据源配置
  5.         DataSourceConfig dataSourceConfig = new DataSourceConfig();
  6.         dataSourceConfig.setDbType(DbType.MYSQL);
  7.         dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
  8.         dataSourceConfig.setUsername("root");
  9.         dataSourceConfig.setPassword("123456");
  10.         dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/chong?useUnicode=true&characterEncoding=UTF-8");
  11.         autoGenerator.setDataSource(dataSourceConfig);
  12.         // 全局配置
  13.         GlobalConfig globalConfig = new GlobalConfig();
  14.         globalConfig.setOpen(false); // 是否打开生成后的文件
  15.         globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");
  16.         globalConfig.setAuthor("hekai"); // 注释上面编写的作者
  17.         globalConfig.setServiceName("%sService");
  18.         autoGenerator.setGlobalConfig(globalConfig);
  19.         // 包配置
  20.         PackageConfig packageConfig = new PackageConfig();
  21.         packageConfig.setParent("com.shuhe");
  22.         packageConfig.setEntity("entity");
  23.         packageConfig.setMapper("mapper");
  24.         packageConfig.setController("controller");
  25.         packageConfig.setService("service");
  26.         packageConfig.setServiceImpl("service.impl");
  27.         autoGenerator.setPackageInfo(packageConfig);
  28.         // 策略配置
  29.         StrategyConfig strategyConfig = new StrategyConfig();
  30.         strategyConfig.setEntityLombokModel(true); // 生成的实体上都会加上@Data注解
  31.         strategyConfig.setNaming(NamingStrategy.underline_to_camel); // 实体类的命名规则为下划线转驼峰
  32.         strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel); // 实体类的属性名的命名规则为下划线转驼峰
  33.         strategyConfig.setInclude("fa_admin","fa_admin_log");// 要根据哪些表生成对应的实体类等文件
  34.         strategyConfig.setTablePrefix("fa_"); // 若有则去掉表中前缀,如fa_user表生成User.java类
  35.         autoGenerator.setStrategy(strategyConfig);
  36.         autoGenerator.execute();
  37.     }
  38. }
复制代码
  执行完毕后表对应的文件就自动天生了。
如果entity、mapper、controller等目次已经创建好了,则天生的文件会自动添加在对应的目次下,没有创建目次则会自动天生对应的目次,完全不用担心。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王海鱼

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表