SpringBoot + Mybatis-plus 连接SQL Server 遇到的问题
SpringBoot + Mybatis-plus 连接SQL Server;驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接;Method com/microsoft/sqlserver/jdbc/SQLServerResultSet.
一、连接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类型
更多推荐
所有评论(0)