ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

10分钟搞定 Spring Boot 集成 SQL Server:连上微软数据库不再绕弯

10分钟搞定 Spring Boot 集成 SQL Server:连上微软数据库不再绕弯 10分钟搞定 Spring Boot 集成 SQL Server连上微软数据库不再绕弯【免费下载链接】springboot-learning-examplespring boot 实践学习案例是 spring boot 初学者及核心技术巩固的最佳实践。项目地址: https://gitcode.com/gh_mirrors/sp/springboot-learning-example如果你需要 Spring Boot 集成 SQL Server 来做企业级 CRUD或者对接一个跑在微软数据库上的遗留系统完全不用从头研究老的 JDBC 配置。两个依赖、几行连接配置剩下的 JPA 部分都交给 Spring Boot。⚙️ 先把依赖和连接串配好全程只动两个文件pom.xml 里声明 mssql-jdbc 驱动和 JPA starterapplication.properties 里写 SQL Server 连接配置。版本号由 Boot 父 POM 统一管理别自己写免得和驱动版本打架。方言也不用手配Spring Boot 能从连接串里认出来认错了再像最后一行那样显式钉死。!-- 微软官方 JDBC 驱动runtime 就够 -- dependency groupIdcom.microsoft.sqlserver/groupId artifactIdmssql-jdbc/artifactId scoperuntime/scope /dependency !-- JPA 全家桶含 HikariCP -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-data-jpa/artifactId /dependency# 1433 是默认端口改过就跟着改 spring.datasource.urljdbc:sqlserver://localhost:1433;databaseNametestdb;encrypttrue;trustServerCertificatetrue spring.datasource.usernamesa spring.datasource.passwordYourStrongPassword # 驱动类名不写一般也能自动识别写上更稳 spring.datasource.driver-class-namecom.microsoft.sqlserver.jdbc.SQLServerDriver # 表结构自动建/改省去手写 DDL spring.jpa.hibernate.ddl-autoupdate # SQL 打到控制台排错全靠它 spring.jpa.show-sqltrue 实体和 Repository 各写一个就够实体类就是三行注解的事字段不用多三个足够。项目里 User.java 就是 Entity Id 这套写法照抄即可。Repository 继承 JpaRepository 就完事了增删改查现成的——JPA 对接微软数据库就是这么一行接口的事。方法名按 findBy 约定起名查询逻辑 Spring Data 帮你写好连 where 都不用敲。UserRepository.java 展示了最小形态。Entity Table(name t_user) public class User { Id GeneratedValue private Long id; private String username; private String email; // Getters and setters }public interface UserRepository extends JpaRepositoryUser, Long { User findByUsername(String username); } 跑个测试确认没白配写个最小测试验证整条链路先存一条记录再用 findById 取回来orElseThrow() 不抛异常就说明连接、表结构、数据一路都通了。测试通过后控制台会打出几行 INSERT 语句打开 SQL Server 管理工具看 t_user 表刚好多出一条新记录数据确实落库了。SpringBootTest class SqlServerIntegrationTest { Autowired private UserRepository userRepository; Test void testConnection() { User user new User(); user.setUsername(test); user.setEmail(testexample.com); userRepository.save(user); userRepository.findById(user.getId()).orElseThrow(); } } 连不上三个高频坑Communications link failure→ SQL Server 那边没开 TCP/IP或者端口不是默认 1433。配置管理器里启用 TCP/IP连接串端口对齐。握手失败、报加密相关错误→ 客户端强制加密但服务端没配有效证书。连接串上追加 encrypttrue;trustServerCertificatetrue 跳过校验。方言不对→ Hibernate 生成的表结构和微软数据库语法对不上。显式把 spring.jpa.properties.hibernate.dialect 指定为 SQLServer2012Dialect。 上生产前顺手改两处Spring Boot 自带的 HikariCP 连接池默认最大 10 个连接开发够用生产流量一定不够。显式设置 spring.datasource.hikari.maximum-pool-size 和 minimum-idle按实际 QPS 调。业务里大量复杂 SQL、存储过程的话硬用 JPA 会很痛苦。项目里的 springboot-mybatis 模块给了 MyBatis 版写法同样的数据源换成注解/XML 组织 SQL 更可控。到这里写 Driver、加载 properties、手动管连接生命周期的老一套就全省了——DataSource 是现成的你只管业务。【免费下载链接】springboot-learning-examplespring boot 实践学习案例是 spring boot 初学者及核心技术巩固的最佳实践。项目地址: https://gitcode.com/gh_mirrors/sp/springboot-learning-example创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表