使用mybatis-plus 配置 oracle 自动生成model,controller,service,mapper等

在新项目开发中用到自动生成model,controller,service,mapper等,加快开发时间

1在pom.xml文件添加依赖


   com.baomidou
   mybatis-plus
   2.1.6


   org.apache.velocity
   velocity
   1.7

第一个依赖包地址(可选择版本)

第二个依赖包如果不添加运行会报错,因为缺少了基于java的Velocity模版引擎

2在application.properties文件中添加

spring.jpa.database=oracle
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@111.12.1.22:1521:test
spring.datasource.username=test1
spring.datasource.password=test1
3generator类
package generator;

import java.util.HashMap;
import java.util.Map;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.converts.OracleTypeConvert;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

/**
 * mybatis-plus代码生成器(用于生成entity)
*/ public class MyBatisPlusGenerator { public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("d:/Downloads");// 自己的java目录 gc.setFileOverride(true);// 是否覆盖 gc.setActiveRecord(true); gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList gc.setAuthor("你的名字"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.ORACLE); dsc.setTypeConvert(new OracleTypeConvert() { // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { return super.processTypeConvert(fieldType); } }); /**数据库配置这块可以自己手写读取配置文件里的配置项,为了省事我直接copy**/         dsc.setDriverName("oracle.jdbc.driver.OracleDriver"); dsc.setUsername("test1"); dsc.setPassword("test1"); dsc.setUrl("jdbc:oracle:thin:@111.12.1.22:1521:test"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); // strategy.setTablePrefix(new String[]{"_"});// 此处修改为表前缀 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent(null); pc.setEntity("cn.net.test.model"); pc.setMapper("cn.net.test.dao"); pc.setXml("cn.net.test.dao.mapping"); pc.setService("cn.net.test.service"); pc.setServiceImpl("cn.net.test.service.impl"); pc.setController("cn.net.test.controller"); mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map map = new HashMap<>(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; mpg.setCfg(cfg); // 执行生成 mpg.execute(); // 打印注入设置 System.err.println(mpg.getCfg().getMap().get("abc")); } }


你可能感兴趣的:(mybatis)