一、连接SQL Server数据库

1、引入SQL Server和Mybatis-plus的依赖

<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>
 <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>4.0</version>
        </dependency>

2、修改application.yml文件(看个人喜好,你用application.properties也是可以的)

spring:
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://localhost:1433;DatabaseName=数据库名称;
    username: SQLServer的用户名
    password: SQLServer的密码

二、启动时连接数据库遇到的问题

1、问题1:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”。

 解决问题:修改引入的依赖文件,我之前引入的依赖是(如下所示),备注:这个依赖是我利用Mybatis-plus工具自动生成代码的依赖,但是在项目中使用这个依赖操作SQL Serve数据库就会出现上述报错(本人是Java小白,具体的原因还没找到,如有大神解决过此类问题请在评论区帮忙解疑)

<dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <scope>runtime</scope>
        </dependency>

2、问题2:Method com/microsoft/sqlserver/jdbc/SQLServerResultSet.

java.lang.AbstractMethodError: Method com/microsoft/sqlserver/jdbc/SQLServerResultSet.getObject(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; is abstract

解决问题:数据库字段的类型和实体类中的类型不一致,导致出现这个错误,数据库的日期类型是DateTime,实体类中的日期类型是LocalDateTime(我利用Mybatis-Plus工具自动生成代码,但是Mybatis-Plus版本3.2.0 3.0以上默认时间为LocalDateTime ,)将实体类的LocalDateTime类型修改为Date类型

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐