SpringBoot+Mybatis-Plus整合Dm(达梦)数据库
作者:mmseoamin日期:2024-02-04

一、达梦数据库的驱动包

目录

一、达梦数据库的驱动包

1.1、注意事项:大家最关心的莫过于DM数据库的 Dmjdbc.Jar

 1.2 我这里是直接下载了他的jar包直接在pom文件中引入项目中的jar(放在大包下)

1.3、pom文件(如果用的是maven中的那个就不需要上面的操作)

1.4、现在配置application.yml 

1.5、配置生成脚本 


1.1、注意事项:大家最关心的莫过于DM数据库的 Dmjdbc.Jar

SpringBoot+Mybatis-Plus整合Dm(达梦)数据库,第1张

 找到你需要的依赖导入就行了,我这里使用windows版的Dm(达梦数据库)你也可以使用Linux或者(银河麒麟操作系统)

 1.2 我这里是直接下载了他的jar包直接在pom文件中引入项目中的jar(放在大包下)

SpringBoot+Mybatis-Plus整合Dm(达梦)数据库,第2张

1.3、pom文件(如果用的是maven中的那个就不需要上面的操作)


	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		2.7.13
		 
	
	com.zking
	SpringBootDMdbms
	0.0.1-SNAPSHOT
	SpringBootDMdbms
	SpringBootDMdbms
	
		11
	
	
		
			org.springframework.boot
			spring-boot-starter-freemarker
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
		
			com.baomidou
			mybatis-plus-generator
			3.5.2
		
		
			org.postgresql
			postgresql
			runtime
		
		
			org.projectlombok
			lombok
			true
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		
		
			com.dm
			Dm7JdbcDriver
			1.8
			system
			${project.basedir}/src/lib/DmJdbcDriver18.jar
		
		
			com.baomidou
			mybatis-plus-boot-starter
			3.5.3
		
	
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
				
					
						
							org.projectlombok
							lombok
						
					
				
			
			
				org.springframework.boot
				spring-boot-maven-plugin
				
					true
				
			
		
	

1.4、现在配置application.yml 
#spring
  spring:
    datasource:
      driver-class-name: dm.jdbc.driver.DmDriver
      url: jdbc:dm://192.168.6.129:5236/SYSDBA?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
      username: SYSDBA
      password: SYSDBA
    hikari:
      minimum-idle: 5
      idle-timeout: 180000
      maximum-pool-size: 10
      auto-commit: true
      pool-name: MyHikariCP
      max-lifetime: 1800000
      connection-timeout: 30000
    freemarker:
      charset: UTF-8
      suffix:
      content-type: text/html
      template-loader-path: classpath:/templates/
      enabled: true
    mvc:
      static-path-pattern: /static/**
  mybatis-plus:
      mapper-locations: classpath*:/mapper/*Mapper.xml
      type-aliases-package: com.zking.springbootdmdbms.model
      configuration:
        map-underscore-to-camel-case: true
  logging:
      level:
        com.zking.shoppingproject.mapper: debug

                以上是application.yml的配置

1.5、配置生成脚本 
package com.zking.springbootdmdbms.generator;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.fill.Column;
import java.util.Collections;
import java.util.Scanner;
public class CodeGenerator {
    public static void main(String[] args) {
        FastAutoGenerator
                // 数据源配置
                .create("jdbc:dm://192.168.6.129:5236/SYSDBA?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8",
                        "SYSDBA",
                        "SYSDBA")
                // 全局配置
                .globalConfig(builder -> {
                    builder.author("zking")                // 设置作者
                            .outputDir(System.getProperty("user.dir") + "/src/main/java") // 指定输出目录
                            .commentDate("yyyy-MM-dd")   // 注释日期
                            .disableOpenDir();           // 禁止打开输出目录,默认:true
                })
                // 包配置
                .packageConfig(builder -> {
                    builder.parent("com.zking.springbootdmdbms") // 设置父包名
                            //.moduleName("mp")          // 设置父包模块名
                            .entity("model")             // 设置实体类包名
                            .other("utils")              // 自定义文件包名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "/src/main/resources/mapper")); // 设置mapperXml生成路径
                })
                // 策略配置
                .strategyConfig((scanner, builder) -> {
                    builder.addInclude(scanner.apply("请输入表名,使用英文的逗号分隔:")) // 设置需要生成的表名
                            .addTablePrefix("t_", "c_") // 设置过滤表前缀
                            // entity 策略配置
                            .entityBuilder()
                            .enableLombok()
                            //.logicDeleteColumnName("deleted")                 //逻辑删除字段名
                            .naming(NamingStrategy.underline_to_camel)          //数据库表映射到实体的命名策略:下划线转驼峰命
                            .columnNaming(NamingStrategy.underline_to_camel)    //数据库表字段映射到实体的命名策略:下划线转驼峰命
//                            .addTableFills(
//                                    new Column("create_time", FieldFill.INSERT),
//                                    new Column("modify_time", FieldFill.INSERT_UPDATE)
//                            )   //添加表字段填充,"create_time"字段自动填充为插入时间,"modify_time"字段自动填充为插入修改时间
                            .enableTableFieldAnnotation()                       // 开启生成实体时生成字段注解
                            // mapper 策略配置
                            .mapperBuilder()
                            .superClass(BaseMapper.class)       //设置父类
                            .formatMapperFileName("%sMapper")   //格式化 mapper 文件名称
                            .enableMapperAnnotation()           //开启 @Mapper 注解
                            .formatXmlFileName("%sMapper")      //格式化 Xml 文件名称 如 UserXml
                            .enableBaseColumnList()             //生成通用查询结果列
                            .enableBaseResultMap()              //生成查询映射结果ResultMap
                            // service 策略配置
                            .serviceBuilder()
                            .formatServiceFileName("%sService")         // 如:UserService
                            .formatServiceImplFileName("%sServiceImpl") // 如:UserServiceImpl
                            // controller 策略配置
                            .controllerBuilder()
                            .formatFileName("%sController")     // 如 UserController
                            .enableRestStyle();                 //开启生成 @RestController 控制器
                })
                // 模板配置
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                // 执行
                .execute();
    }
}

                                                注意:数据源的配置别填错了哦!!!        

 生成出来就有 mapper、model、 controller、*mapper.xml、service

可以去Junit中测试。

(可能会出现一些问题就是生成的时候找不到你的数据库,还有测试的时候输出没数据等。。。)

注意:端口不要和我一样哦,填写你自己电脑的IP

测试成功!!!就完事了

                         以上是今天的所有内容希望对在座的各位有所帮助谢谢