说明

在Spring Boot中进行sqlserver连接跟mysql之类的连接有点差别,mysql跟达梦连接方式一样,测试项目使用的使jdk1.8有的时候版本导入不正确可能会出现bug

步骤

1、导包
 <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>8.4.1.jre8</version>
</dependency>
注:

有的时候导进去包之后idea中还是爆红,最常见的原因就是(1)仓库没有配置正确
在setting中,其中也包括达梦镜像仓库修改如下:

<localRepository>自定义仓库地址</localRepository>
<localRepository><!-- 添加镜像仓库配置-->
    <repositories>
        <!-- 使用阿里云镜像仓库用来提高下载速度-->
        <repository>
            <id>aliyun</id>
            <name>aliyun Repository</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <!-- 使用 DM 的镜像仓库来下载驱动包-->
        <repository>
            <id>dc</id>
            <name>dc Repository</name>
            <url>http://119.96.100.222:8181/repository/maven-releases/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
		 <repository>
            <id>clojars</id>
            <url>http://clojars.org/repo/</url>
        </repository>
    </repositories></localRepository>

maven仓库中手动下载的jar包将其放在jre下之后,需要进行命令的导入以sqljdbc为例:

mvn install:install-file -Dfile=sqljdbc4-2.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.2
2、yml中进行配置
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://localhost:1433;databaseName=实例名;integratedSecurity=false
username: sa
password: sa

在mysql数据库中将会变得容易简单

导入包
        <!-- mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
yml中配置
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/数据库名?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
username: root
password: root

达梦数据库跟mysql相似

唯一差别在于写语句的时候需要加上模式名,否则会出先报错找不到实力【】的情况

<dependency>
            <groupId>com.dameng</groupId>
            <artifactId>DmJdbcDriver18</artifactId>
            <version>8.1.2.79</version>
</dependency>
url: jdbc:dm://IP:5236/eatuarycenter?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
username: SYSDBA
password: SYSDBA
driver-class-name: dm.jdbc.driver.DmDriver
另外在写一下多数据源在spring中进行配置:

导包

<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.5.1</version>
</dependency>

yml中配置

spring:
  datasource:
    dynamic:
      primary: dm  #设置默认的数据源或者数据源组,默认值即为master
      strict: false  #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
      datasource:
        数据源1:
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
          url: jdbc:sqlserver://IP:端口号;databaseName=实例名;integratedSecurity=false
          username: 用户名
          password: 密码
        数据源2:
        	driver-class-name: com.mysql.cj.jdbc.Driver
			url: jdbc:mysql://IP:端口号/数据库名?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
			username: 用户
			password: 密码
        数据源3:
          url: jdbc:dm://IP:端口号/数据库名?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
          username: 用户名
          password: 密码
          driver-class-name: dm.jdbc.driver.DmDriver

配置好之后将不同的数据源放在不同的包下,这样方便spring自动识别避免自动注入的时候出错,导致找不到相对应的包
在业务层上注明引用的数据源

@Service
@DS("数据源")
public class ServiceImpl

之后就可以进行多数据库进行查询了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐