使用mybatisplus的逆向工程自动天生数据库中表对应的实体类、mapper、service、serviceImpl、controller等文件
详细流程如下:
1、引入依赖
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>3.0.4</version>
- </dependency>
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-boot-starter</artifactId>
- <version>3.4.3.1</version>
- </dependency>
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-generator</artifactId>
- <version>3.3.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.velocity</groupId>
- <artifactId>velocity-engine-core</artifactId>
- <version>2.0</version>
- </dependency>
复制代码 2、编写自动天生器配置并执行
就是项目中任意写个类,里面定义个main方法,执行下面的代码即可
- public class Generator {
- public static void main(String[] args) {
- AutoGenerator autoGenerator = new AutoGenerator();
- // 数据源配置
- DataSourceConfig dataSourceConfig = new DataSourceConfig();
- dataSourceConfig.setDbType(DbType.MYSQL);
- dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
- dataSourceConfig.setUsername("root");
- dataSourceConfig.setPassword("123456");
- dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/chong?useUnicode=true&characterEncoding=UTF-8");
- autoGenerator.setDataSource(dataSourceConfig);
- // 全局配置
- GlobalConfig globalConfig = new GlobalConfig();
- globalConfig.setOpen(false); // 是否打开生成后的文件
- globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");
- globalConfig.setAuthor("hekai"); // 注释上面编写的作者
- globalConfig.setServiceName("%sService");
- autoGenerator.setGlobalConfig(globalConfig);
- // 包配置
- PackageConfig packageConfig = new PackageConfig();
- packageConfig.setParent("com.shuhe");
- packageConfig.setEntity("entity");
- packageConfig.setMapper("mapper");
- packageConfig.setController("controller");
- packageConfig.setService("service");
- packageConfig.setServiceImpl("service.impl");
- autoGenerator.setPackageInfo(packageConfig);
- // 策略配置
- StrategyConfig strategyConfig = new StrategyConfig();
- strategyConfig.setEntityLombokModel(true); // 生成的实体上都会加上@Data注解
- strategyConfig.setNaming(NamingStrategy.underline_to_camel); // 实体类的命名规则为下划线转驼峰
- strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel); // 实体类的属性名的命名规则为下划线转驼峰
- strategyConfig.setInclude("fa_admin","fa_admin_log");// 要根据哪些表生成对应的实体类等文件
- strategyConfig.setTablePrefix("fa_"); // 若有则去掉表中前缀,如fa_user表生成User.java类
- autoGenerator.setStrategy(strategyConfig);
- autoGenerator.execute();
- }
- }
复制代码 执行完毕后表对应的文件就自动天生了。
如果entity、mapper、controller等目次已经创建好了,则天生的文件会自动添加在对应的目次下,没有创建目次则会自动天生对应的目次,完全不用担心。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |