springBoot项目使用mybatis-plus逆向工程生成controller、service、mapper及XML文件
2020-08-18 17:50
1036 查看
首先在maven中添加相关依赖,如果存在mysql驱动等依赖,则不需要重复添加,否则会报错哦~
[code]<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <mybatis-plus-boot-starter.version>3.0.2</mybatis-plus-boot-starter.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- web项目需要的jar包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- MP 核心库 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus-boot-starter.version}</version> </dependency> <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency> <!-- lombok需要的jar包 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies>
核心代码部分,直接执行main方法即可生成controller、service、mapper及XML文件
[code]package com.ruoyi.wanshang.utils; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.InjectionConfig; import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.po.TableInfo; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import java.util.ArrayList; import java.util.List; /** * @Author: LvFang * @Date: Created in 2019/6/11. * @Description: */ public class MyBatisPlusCodeGenerator { //包名 public static final String PACKAGE_NAME = "com.ruoyi.wanshang"; public static void main(String[] args) { String[] tables = new String[] {"ws_jdpeizhi"};//表名数组 String[] tablePrefixs = new String[] {""};//去掉前缀 executeCode(PACKAGE_NAME,tables,tablePrefixs); } private static void executeCode(String pack,String[] tables,String[] tablePrefixs) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); // 是否覆盖已有文件 gc.setFileOverride(false); // 生成文件的输出目录 String projectPath = System.getProperty("user.dir");//user.dir 表示当前工程路径无需替换 gc.setOutputDir(projectPath + "/src/main/java"); //设置bean命名规范 gc.setEntityName("%s"); // 开发人员 gc.setAuthor("Qyq"); // 是否打开输出目录 gc.setOpen(false); // 开启 BaseResultMap gc.setBaseResultMap(true); // 指定生成的主键的ID类型 gc.setIdType(IdType.ID_WORKER); // 时间类型对应策略: 只使用 java.util.date 代替 gc.setDateType(DateType.ONLY_DATE); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig config= new DataSourceConfig(); // 从试图获取 config.setUrl("jdbc:mysql://139.159.190.58:3306/ws-dev"); config.setDriverName("com.mysql.cj.jdbc.Driver"); config.setUsername("root"); config.setPassword("Wanshang"); mpg.setDataSource(config); // 包配置 PackageConfig pc = new PackageConfig(); // 父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名 pc.setParent(pack); // Entity包名 pc.setEntity("domain"); mpg.setPackageInfo(pc); // 自定义配置 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { // to do nothing } }; List<FileOutConfig> focList = new ArrayList<>(); focList.add(new FileOutConfig("/templates/mapper.xml.ftl") { public String outputFile(TableInfo tableInfo) { // 自定义输入文件名称 if (StringUtils.isEmpty(pc.getModuleName())) { return projectPath + "/src/main/resources/mapper/wanshang/" + tableInfo.getXmlName() + StringPool.DOT_XML; }else { return projectPath + "/src/main/resources/mapper/wanshang/" + pc.getModuleName() + "/" + tableInfo.getXmlName() + StringPool.DOT_XML; } } }); cfg.setFileOutConfigList(focList); mpg.setCfg(cfg); mpg.setTemplate(new TemplateConfig().setXml(null)); // 策略配置 StrategyConfig strategy = new StrategyConfig(); // 数据库表映射到实体的命名策略: 下划线转驼峰命名 strategy.setNaming(NamingStrategy.underline_to_camel); // 数据库表字段映射到实体的命名策略: 下划线转驼峰命名 strategy.setColumnNaming(NamingStrategy.underline_to_camel); // 【实体】是否为lombok模型(默认 false) strategy.setEntityLombokModel(false); // 需要包含的表名,允许正则表达式(与exclude二选一配置) strategy.setInclude(tables); // 驼峰转连字符 strategy.setControllerMappingHyphenStyle(true); // 表前缀 strategy.setTablePrefix(tablePrefixs); mpg.setStrategy(strategy); mpg.setTemplateEngine(new FreemarkerTemplateEngine()); mpg.execute(); } }
直接生成代码在项目里面了
相关文章推荐
- springboot项目中使用mybatis逆向工程生成代码实例
- 使用mybatis-plus生成Controller,Service,mapper并运行
- idea Springboot 整合Myabtis时使用逆向工程无法生成UPDATE和SELECT时Mapper问题
- 使用MyBatis逆向工程自动生成对应的api,javabean和mapper文件
- Mybatis使用Generator配置,逆向工程生成实体类和xml文件
- springboot和mybatis的结合一,使用逆向工程
- 【个人博客项目 2】Idea插件mybatiscodehelperpro 逆向生成实体类、mapper接口、service的方法(附有idea链接MySQL 5版本以及8版本的方法)
- 3、springboot脚手架 即开即用 集成ActiveMq,rabbitMq,fdfsDfs,mybatisPlus,es,openOffice,逆向工程,强化版swagger,
- springboot中mybatis通用mapper以及代码生成工具使用
- MybatisPlus 代码生成器——生成到指定功能模块下(Mybatis一键生成entity,mapper,mapper.xml,service,serviceImpl,controller)
- springboot项目下使用mybatis generator生成pojo类、mapper文件以及dao类
- mybatis plus自动生成业务代码(controller,service,entity,mapper)
- 在使用Mybatis框架的JavaWeb项目中通过Mybatis Generator逆向工程自动生成Java类文件
- springboot使用-Mybatis-Plus 的自动生成代码功能
- spring boot多数据源mybatis-plus的baseMapper的里面的方法无法使用
- Spring3 Mybatis3 freemarker 自动生成对应表的model、mapper、service、controller并自动修改mybatis配置文件
- 使用IntelliJ IDEA自动生成Spring Boot代码 根据数据库自动生成Entity、DynamicSql、Dao、Service、Controller各层代码及swagger注解
- springboot中使用mybatis-generator自动生成mapper、 model和dao
- 如何在springboot快速生成数据库表的实体,mapper,service,controller
- 项目(一)springboot多模块工程(3)集成mybatis-plus实现基本crud、集成swagger2接口管理