springboot+jpa连接SQLServer数据库

一、引入连接SQLServer所需要的jar包

<!--sqlServer-->
<dependency>
	<groupId>com.microsoft.sqlserver</groupId>
	<artifactId>sqljdbc4</artifactId>
	<version>4.0</version>
</dependency>

1、若远程仓库无法下载该jar包,推荐手动下载sqljdbc4.jar并导入到本地仓库。
sqljdbc4.jar下载地址:
链接:https://pan.baidu.com/s/1Jh9Vu6LX06qXL8pKZWwyoA
提取码:ffkk
2、添加到本地仓库
在jar包所在的文件夹中,打开cmd,执行命令:

mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0

二、properties配置文件

spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://localhost:1433;DatabaseName=数据库名
spring.datasource.username=sa
spring.datasource.password=*****

spring.jpa.open-in-view=false
spring.jpa.properties.hibernate.default_schema=dbo
spring.jpa.database=sql_server
spring.jpa.database-platform=com.sq.fms.config.SqlServerDialect  # 自定义的方言类

方言类:我使用的SQL Server数据库版本为2019,故自己配置了方言类

package com.sq.fms.config;

import org.hibernate.dialect.SQLServer2012Dialect;
import org.hibernate.type.StandardBasicTypes;
import java.sql.Types;

/**
 * 自定义方言类,处理使用原生Sql查询,数据类型和hibernate对应关系

 继承SQLServer2012Dialect,如果sqlServer版本是2008则继承
 	 SQLServer2008Dialect,其他版本继承各自的版本
 
 */
public class SqlServerDialect extends SQLServer2012Dialect {
    
    

    /**
     * 设置sql server 数据库方言转换
     */
    public SqlServerDialect() {
    
    
        registerHibernateType(Types.NCHAR, StandardBasicTypes.CHARACTER.getName());
        registerHibernateType(Types.NCHAR, 1, StandardBasicTypes.CHARACTER.getName());
        registerHibernateType(Types.NCHAR, 255, StandardBasicTypes.STRING.getName());
        registerHibernateType(Types.NVARCHAR, StandardBasicTypes.STRING.getName());
        registerHibernateType(Types.LONGNVARCHAR, StandardBasicTypes.TEXT.getName());
        registerHibernateType(Types.NCLOB, StandardBasicTypes.CLOB.getName());
    }
}

补充: SQLServer设置sa用户登录:https://blog.csdn.net/qq_42182034/article/details/109066268

猜你喜欢

转载自blog.csdn.net/qq_42182034/article/details/108700823
今日推荐