SpringBoot+Mybatis-Plus整合Dm(达梦)数据库

一、达梦数据库的驱动包

目录

一、达梦数据库的驱动包

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

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

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

1.3、pom文件(如果用的是maven中的那个就不需要上面的操作)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.7.13</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.zking</groupId>
	<artifactId>SpringBootDMdbms</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>SpringBootDMdbms</name>
	<description>SpringBootDMdbms</description>
	<properties>
		<java.version>11</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- mybatis-plus-generator依赖 -->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-generator</artifactId>
			<version>3.5.2</version>
		</dependency>
		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.dm</groupId>
			<artifactId>Dm7JdbcDriver</artifactId>
			<version>1.8</version>
			<scope>system</scope>
			<systemPath>${project.basedir}/src/lib/DmJdbcDriver18.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.5.3</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>
							<groupId>org.projectlombok</groupId>
							<artifactId>lombok</artifactId>
						</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<includeSystemScope>true</includeSystemScope>
				</configuration>
			</plugin>

		</plugins>
	</build>

</project>
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

测试成功!!!就完事了

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>