当前位置: 首页 > news >正文

Spring Boot,Mybatis Plu连接 Sql Server 数据库源(根据 sql server 自动生成代码结构),解决报错

文章目录

      • 一、Spring Boot 整合 Sql server
        • 注意 sql server 的端口号和连接方式
      • 二、MyBatis Plus 自动生成 Sql Server 代码
      • 三、处理 Mybatis Plu 连接 Sql Server 驱动报错
        • 问题一:com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。 ClientConnectionId:b00eb92e-cac6-46bb-8472-9f2127cbb905
        • 问题二:com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]". ClientConnectionId:8895b2e7-f471-43f3-9c76-654035427cd

一、Spring Boot 整合 Sql server

1、首先添加依赖:

<!--sql server依赖-->
<dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>9.2.1.jre8</version>
</dependency>

2、配置文件(application.yml)中配置:

spring:datasource:driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriverurl: jdbc:sqlserver://IP地址:端口号;databaseName=数据库名username: XXXXXpassword: XXXXX
注意 sql server 的端口号和连接方式

1、我们知道 mysql:使用 navicat 连接时,直接输入 IP 即可连接,在配置文件中也是输入 IP:端口号 连接

但注意:
2、sql server 不一样,navicat 或 sql server 管理工具 连接时一定要加上端口号,也就是你这个 sql server 运行在哪个端口,而且注意:端口号是 , 逗号连接,而不是冒号

好在:在配置文件中是输入 IP:端口号 连接。

在这里插入图片描述

Sql Server 默认端口是 1433

二、MyBatis Plus 自动生成 Sql Server 代码

1、首先引入依赖:

<!--MP自动生成器依赖-->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.3.1</version>
</dependency>
<dependency> <!--自动生成的模板:模板有三种:Velocity(默认)、Freemarker、Beetl --><groupId>org.apache.velocity</groupId><artifactId>velocity</artifactId><version>1.7</version>
</dependency>

2、输入生成器代码

public class MPGenerator {public static void main(String[] args) {//可以直接去官方文档上查看FastAutoGenerator.create("jdbc:sqlserver://IP地址:端口号;databaseName=数据库名","账号", "密码").globalConfig(builder -> {builder.author("XXX").disableOpenDir().outputDir(System.getProperty("user.dir")+"/src/main/java");}).dataSourceConfig(builder ->builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {int typeCode = metaInfo.getJdbcType().TYPE_CODE;if (typeCode == Types.SMALLINT) {return DbColumnType.INTEGER;}return typeRegistry.getColumnType(metaInfo);})).packageConfig(builder -> {builder.parent("父报名(比如:com.abc.abc)").controller("controller").service("service").serviceImpl("service.impl").mapper("mapper").entity("entity");}).strategyConfig(builder -> {builder.addInclude("表名").entityBuilder().enableLombok();}).templateEngine(new VelocityTemplateEngine()).execute();}
}

运行报错

三、处理 Mybatis Plu 连接 Sql Server 驱动报错

问题一:com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。 ClientConnectionId:b00eb92e-cac6-46bb-8472-9f2127cbb905

解决: 换成低版本依赖

<dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><!--jdk是8,后面jre8对应自己的jdk版本--><version>6.4.0.jre8</version>
</dependency>

解决问题一后,又报错:

问题二:com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: “The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”. ClientConnectionId:8895b2e7-f471-43f3-9c76-654035427cd

也就是:The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]

解决: 换驱动:

去掉之前的 sql server 驱动:

<!--sql server依赖-->
<!--<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.4.0.jre8</version>
</dependency>--><dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2.8</version>
</dependency>

配置文件改为:

spring:datasource:driver-class-name: net.sourceforge.jtds.jdbc.Driverurl: jdbc:sqlserver://IP地址:端口号;databaseName=数据库名username: XXXXXpassword: XXXXX

同理:自动生成代码也要改:

.create("jdbc:sqlserver://IP地址:端口号;databaseName=数据库名","账号", "密码")

再次运行:解决报错。


http://www.mrgr.cn/news/62106.html

相关文章:

  • 【YApi】接口管理平台
  • Linux内核-tmpfs虚拟文件系统
  • Python CGI编程-cookie的设置、检索
  • Information Theoretical Estimators (ITE) Toolbox的使用(MATLAB)
  • 2、片元着色器之有向距离场(SDF)运算:并集、差集、交集
  • 判断大小端和 htonl 实现
  • Scikit-learn和Keras简介
  • Redis面试总结(一)
  • springcloud整合sentinel,限流策略持久化到nacos,详细配置案例
  • MySQL—基础学习
  • 照片不完整?来试试智能扩图,简直不要太满意!(不是广告)
  • 大模型面试题63题(1-11)
  • 在vue中,使用this.$refs.myDiv.offsetHeight获取组件高度,结果却报错,是因为...
  • ljjh#True
  • Java继承的super关键字
  • 【C++刷题】力扣-#594-最长和谐子序列
  • C++ 之 VS2010 和MySQL数据库的链接问题
  • leetcode452. 用最少数量的箭引爆气球
  • Autosar AP SM中同EM相关的核心概念解析
  • 《探秘 POC 方案:开启创新之门的钥匙》
  • 如何使用SOCKS5代理提升匿名性
  • 两台主机只能单方向ping通
  • Spring Boot 创建项目详细介绍
  • SpringBoot最大的优势是什么?
  • 24.10.30 Python 包和模块
  • 加油-加油