Spring Boot 篇四: Spring Data JPA使用SQL Server

这篇具有很好参考价值的文章主要介绍了Spring Boot 篇四: Spring Data JPA使用SQL Server。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本篇介绍篇一至篇三中用到的JPA链接SQL Server的具体情况以及实战过程中可能遇到的问题。

SQL Server Express的安装或直接Docker

具体的下载和安装教程,请参阅微软SQL Server官网;

SQL Server Express是免费的,并且配套的SQL Server Management Studio也是可以用的。
Spring Boot 篇四: Spring Data JPA使用SQL Server

呃,当然,使用Docker来运行SQL Server是另外一条路径。具体请参阅Docker Hub文档

SQL Server JDBC Driver

在Java环境中使用SQL Server,需要安装SQL Server JDBC Driver。

微软将整个JDBC Driver的项目直接开源了:Github Repo

在其下载页面,可以选择对应的JRE版本,不同的JRE版本会有不同的package。或者在Maven项目中直接加入下列依赖(这里依赖于JRE 11)。

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

TCP/IP 链接

SQL Server的JDBC Driver需要TCP/IP。

基于Trouble Shooting,TCP/IP必须配置。

The Microsoft JDBC Driver for SQL Server requires that TCP/IP be installed and running to communicate with your SQL Server database. You can use the SQL Server Configuration Manager to verify which network library protocols are installed.

打开TCP/IP,需要SQL Server Configuration Manager

而基于文档,新的SQL Server Configuration Manager并没有额外的程序,而是提供了一系列的MSC文件。

  • SQL Server 2019: %sysdir%\SysWOW64\SQLServerManager15.msc
  • SQL Server 2017: %sysdir%\SysWOW64\SQLServerManager14.msc
  • SQL Server 2016: %sysdir%\\SysWOW64\SQLServerManager13.msc
  • 低版本略

打开MSC文件,即可进行相应的配置。

端口

另外一个经常碰到的问题是:

A network-related or instance-specific error occurred while establishing a connection to SQL Server

这里需要查看端口的设置是不是正确。SQL Server默认使用端口1433。如下图设置,开发环境可以简单粗暴的全部设置为1433(生产环境另说)。

Spring Boot 篇四: Spring Data JPA使用SQL Server

Integrated Security

SQL Server的Logon可以基于Windows是认证。这时不需要输入用户名和密码。这个在开发环境还是相当好用的,不需要额外配置开发环境的用户名和密码,更不需要将这些信息存储下来(如app.properties等等)。因为这些信息上传git的时候很麻烦。

然而,直接设置Integrated Security并不能正常工作。根本原因是JDK的路径下找不到mssql-jdbc-auth-xxx.dll(xxx是版本号)。

如果SQL Server Driver是Maven下安装的,那么上述DLL并不存在。换言之,上述DLL并不属于JAR的一部分。打开Maven的Repository目录并没有DLL:

.m2\repository\com\microsoft\sqlserver\mssql-jdbc\10.2.1.jre11

这时,只能去官方去下载Link

然后复制上述DLL到%JAVA_HOME%\bin下。

SSL

随着网络认证的日趋严格,SSL 验证也被设置为标准了。

下述错误就可能遇到了:

The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption

行之有效的方法是修改connection string:

spring.data.url=jdbc:sqlserver://localhost;database=classicmodels;integratedSecurity=true;encrypt=true;trustServerCertificate=true;

总结

有了以上这些配置和安装,SQL Server Express(以及别的版本)应该都能正确使用了。

另外常见的两个问题是:

  • Connection String。
    官方文档给定的语法如下:
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

具体也可以参考上面的实例。文章来源地址https://www.toymoban.com/news/detail-451765.html

  • 数据类型。
    基础数据类型的官方文档和高级数据类型的官方文档。

到了这里,关于Spring Boot 篇四: Spring Data JPA使用SQL Server的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • spring boot下基于spring data jpa配置mysql+达梦多数据源(以不同包路径方式,mysql为主数据源)

    :mysql 达梦/dameng jpa 多数据源 spring boot:2.1.17.RELEASE mysql驱动:8.0.21(跟随boot版本) 达梦驱动:8.1.2.192 lombok:1.18.12(跟随boot版本) 以mysql为主数据源,达梦为第二数据源方式配置 适用于旧项目二次开发接入达梦数据库或基于通用二方/三方包做业务扩展等场景 将以不

    2024年02月05日
    浏览(11)
  • 69、Spring Data JPA 的 @Query查询 和 命名查询(半自动:提供 SQL 或 JPQL 查询)

    69、Spring Data JPA 的 @Query查询 和 命名查询(半自动:提供 SQL 或 JPQL 查询)

    1、方法名查询(全自动,既不需要提供sql语句,也不需要提供方法体) 2、@Query查询(半自动:提供 SQL 或 JPQL 查询) 3、自定义查询(全手动) @Query查询 和 命名查询的区别: 命名查询与直接用@Query来定义查询的本质是一样,只不过它们定义SQL或JPQL语句的位置不同。

    2024年02月07日
    浏览(5)
  • 如何使用Spring Data JPA简化MySQL数据访问

    本篇文章是 “一起学习mysql” 系列的第五篇文章,本篇文章我们学习一下Spring Data JPA的使用,在开始学习器,我们先来了解一下什么是JPA。 JPA的全称是Java Persistence API,是J2EE中的一条规范,它标准化了数据持久化API。在上一篇文章中,我们了解了如何使用MyBatis进行MySQL数据

    2024年02月15日
    浏览(8)
  • Spring data JPA的基本使用把你难到了吗?

    Spring data JPA的基本使用把你难到了吗?

    一. 故事背景 最近有已经工作的学员跟文哥聊天,说他刚进公司,人生地不熟,每天工作都是战战兢兢,如履薄冰。本来他觉得自己用的最6的技术就是文哥教给他的Mybatis了,本以为靠着Mybatis就可以养家糊口,赚点血汗钱了。结果发现大家用的都是Spring Data JPA!!!他顿时虎

    2024年02月04日
    浏览(6)
  • 在Spring Boot项目中使用JPA

    Spring Boot提供了启动器spring-boot-starter-data-jpa,只需要添加启动器(Starters)就能实现在项目中使用JPA。下面一步一步演示集成Spring Data JPA所需的配置。 步骤01 添加JPA依赖。 首先创建新的Spring Boot项目,在项目的pom.xml中增加JPA相关依赖,具体代码如下:

    2024年02月09日
    浏览(8)
  • 国庆中秋特辑(八)Spring Boot项目如何使用JPA

    国庆中秋特辑(八)Spring Boot项目如何使用JPA

    国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆中秋特辑(六)大学生常见30道宝藏编程面试题 国庆中秋特辑(五)MySQL如何性能调优?下篇 国庆中秋特辑(四)MySQL如何性能调优?上篇 国庆

    2024年02月08日
    浏览(6)
  • 使用Spring Data JPA实现审计功能,记录创建人、创建时间、最后修改时间和最后修改人

    近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。 本项目为前后端分离开发,后端基于 Java21 和 SpringBoot3 开发,后端使用 Spring Security 、 JWT 、 Spr

    2024年01月19日
    浏览(7)
  • 使用Spring Boot和JPA实现多数据源的方法

    使用Spring Boot和JPA实现多数据源的方法: 添加相关依赖:在pom.xml文件中添加Spring Boot和JPA的依赖项,例如Spring Boot Starter Data JPA和相应的数据库驱动。 配置数据源:在application.properties(或application.yml)文件中,配置多个数据源的连接信息,如数据库URL、用户名和密码。 创建数

    2024年01月21日
    浏览(6)
  • Spring Data JPA 快速上手

    Spring Data JPA 快速上手

    JPA的全称是Java Persisitence API,即JAVA持久化API,是sum公司退出的一套基于ORM的规范,内部是由一些列的接口和抽象类构成。JPA通过JDK5.0注解描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 Spring Data的优势:可以操作多种数据库,关系型数据库,非关系

    2024年04月23日
    浏览(7)
  • Spring Data JPA 学习笔记

    Spring Data JPA: Spring Data JPA 的技术特点: @Entity 标注是一个实体类,实体类中的每一个属性都对应表中的一列。 @Table(name = “User”) 这个注解用于指定实体类对应的数据库表名。(但首字母会小写) @Data:这个注解是Lombok库提供的,用于自动生成实体类的getter和setter方法、构造函

    2024年04月09日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包