一、POM文件,引入所需要的依賴
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.29</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.2.0.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-test</artifactId> </dependency> </dependencies>
二、(配置)達夢的驅動包,配置數據源
在達夢數據庫的安裝目錄下有驅動包,我們先把jar包丟進來,放到lib這個文件夾下:
然后配置pom文件:
<dependency> <groupId>com.dm</groupId> <artifactId>Dm7JdbcDriver</artifactId> <version>1.7</version> <scope>system</scope> <systemPath>${project.basedir}/src/lib/Dm7JdbcDriver18.jar</systemPath> </dependency>
三、配置法或者直接在實體類中調用
mybatis-plus:
mapper-locations: classpath:/mapper/*Mapper.xml
#實體掃描,多個package用逗號或者分號分隔
typeAliasesPackage: com.baomidou.springboot.entity
typeEnumsPackage: com.baomidou.springboot.entity.enums
global-config:
# 數據庫相關配置
db-config:
#主鍵類型 AUTO:"數據庫ID自增", INPUT:"用戶輸入ID",ID_WORKER:"全局唯一ID (數字類型唯一ID)", UUID:"全局唯一ID UUID";
id-type: id_worker
#字段策略 IGNORED:"忽略判斷",NOT_NULL:"非 NULL 判斷"),NOT_EMPTY:"非空判斷"
field-strategy: not_empty
#駝峰下划線轉換
column-underline: true
#數據庫大寫下划線轉換
#capital-mode: true
#邏輯刪除配置
logic-delete-value: 0
logic-not-delete-value: 1
db-type: dm
#刷新mapper 調試神器
refresh: true
# 原生配置
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
或直接在類中設置
private final static String SCHEMANAME = "SYSDBA"; private final static String DATAURL = "jdbc:dm://localhost:5236/WSDC?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8"; private final static String DRIVERNAME = "dm.jdbc.driver.DmDriver"; private final static String USERNAME = "WSDC"; private final static String PASSWORD = "123456789"; private final static String AUTHOR = "YHT"; private final static String[] TABLE_NAME = { "ZW_ALERTREVIEW" }; public static String scanner(String tip) { Scanner scanner = new Scanner(System.in); StringBuilder help = new StringBuilder(); help.append("請輸入" + tip + ":"); System.out.println(help.toString()); if (scanner.hasNext()) { String ipt = scanner.next(); if (StringUtils.isNotEmpty(ipt)) { return ipt; } } throw new MybatisPlusException("請輸入正確的" + tip + "!"); } public static void main(String[] args) { // 代碼生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java")// 生成路徑 .setFileOverride(true)//文件覆蓋 .setServiceName("%sService") // 設置生成的service接口的名字的首字母是否為I .setDateType(DateType.ONLY_DATE) .setAuthor(AUTHOR) .setOpen(false) .setSwagger2(true) //#主鍵類型 AUTO:"數據庫ID自增", INPUT:"用戶輸入ID",ID_WORKER:"全局唯一ID (數字類型唯一ID)", UUID:"全局唯一ID UUID"; .setIdType(IdType.AUTO) // 主鍵策略 .setBaseResultMap(true)// 生成基本的resultMap .setBaseColumnList(true);// 生成基本的SQL片段 // 自定義文件命名,注意 %s 會自動填充表實體屬性! // gc.setMapperName("%sDao"); // gc.setXmlName("%sMapper"); // gc.setServiceName("MP%sService"); // gc.setServiceImplName("%sServiceDiy"); // gc.setControllerName("%sAction"); mpg.setGlobalConfig(gc); //達夢數據庫的配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.DM); dsc.setSchemaName(SCHEMANAME); dsc.setUrl(DATAURL); dsc.setDriverName(DRIVERNAME); dsc.setUsername(USERNAME); dsc.setPassword(PASSWORD); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setModuleName(scanner("模塊名")) .setMapper("mapper")// dao .setService("service")// servcie .setController("controller")// controller .setEntity("bean") .setXml("mapper")// mapper.xml .setParent("com"); 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") { @Override public String outputFile(TableInfo tableInfo) { // 自定義輸入文件名稱 return projectPath + "/src/main/resources/mapper/" + pc.getModuleName() + "/" + tableInfo.getEntityName() + "Mapper" + 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); strategy.setEntityLombokModel(true); strategy.setInclude(TABLE_NAME); // 需要生成的表 //strategy.setSuperEntityColumns("id");//可去除實體類中ID strategy.setControllerMappingHyphenStyle(true);// 駝峰轉連字符 strategy.setTablePrefix(pc.getModuleName() + "_"); strategy.setEntityLombokModel(true); strategy.setSuperControllerClass("com.util.controller.BaseController"); //strategy.setSuperServiceClass("com.amazon.base.service.BaseService"); //strategy.setSuperServiceImplClass("com.amazon.base.service.impl.BaseServiceImpl"); //strategy.setSuperMapperClass("com.amazon.base.mapper.BaseMapper"); //strategy.setSuperEntityClass("com.amazon.base.model.BaseModel"); // strategy.setExclude(new String[]{"test"}); // 排除生成的表 // Boolean類型字段是否移除is前綴處理 // strategy.setEntityBooleanColumnRemoveIsPrefix(true) //strategy.entityTableFieldAnnotationEnable(true);// 是否生成實體時,生成字段注解 //strategy.setLogicDeleteFieldName("createDate"); mpg.setStrategy(strategy); // 選擇 freemarker 引擎需要指定如下加,注意 pom 依賴必須有! mpg.setTemplateEngine(new FreemarkerTemplateEngine()); mpg.execute(); }
都是開發,其他自己補充吧