mybatis-plus 集成達夢數據庫【其他數據庫通用】


一、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();
    }

 

都是開發,其他自己補充吧

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM