Springboot+Sqlserver+mybatisplus 如何进行配置?

  1. 导入pom坐标 Springboot的基本依赖,关于具体的每一个的作用有对应的注释
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.7.1</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>demo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>demo</name>
        <description>Demo project for Spring Boot</description>
        <properties>
            <java.version>1.8</java.version>
        </properties>
        <dependencies>
    <!--        mybatis的依赖-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.2.2</version>
            </dependency>
    <!--        mysql的链接驱动-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
    <!--        springboot的测试类-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    <!--        EasyExcel报表数据-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>easyexcel</artifactId>
                <version>2.2.3</version>
            </dependency>
    <!--        德鲁伊数据库连接池-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.2.2</version>
            </dependency>
    
            <!--        导入mybatisplus的依赖-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.4.1</version>
            </dependency>
            <!--        导入lombok坐标,简化封装对象类的操作-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
    <!--        sqlserver的链接驱动-->
            <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>mssql-jdbc</artifactId>
                <scope>runtime</scope>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    

 2. 配置对应的层次结构,在这跟mybaits一样配置

 Mapper层

@Mapper
public interface Insmapper extends BaseMapper<Ins_cost> {
}

Pojo层

@NoArgsConstructor//有参构造

@AllArgsConstructor//无参构造

@Data//方法

@Builder//生成对象

public class File1 {

        // 根据Excel中指定列名或列的索引读取,并且对其中的数据进行转换

        @ExcelProperty(value = "GP")

        private String  value;

        @ExcelProperty(value = "SEX")

        private String sex;

        // lombok 会生成getter/setter方法

}

Service层

        public interface InService extends IService<Ins_cost> {
}

实现层

@Service

public class InServiceImp extends ServiceImpl<Insmapper, Ins_cost> implements InService {

}

启动引导类

@SpringBootApplication

public class DemoApplication {



    public static void main(String[] args) {

        SpringApplication.run(DemoApplication.class, args);

    }
}

 properties配置类

spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://tstsvr;TrustServerCertificate=True;databaseName=##
spring.datasource.username=###
spring.datasource.password=###

编写test类

@Autowired
private InService service;

@Test
public void sqlTest()
{
    List<Ins_cost> list = service.list();
    System.out.println(list);
}

执行过程中遇见的常见bug及其解决方式

com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”。 ClientConnectionId:4347a582-6c6b-4e5c-9475-d3b337da15ff

解决方法

  1. Jdk配置文件的修改

在Java的安装目录的\conf\security下,打开并编辑java.security文件

打开文件后,修改jdk.tls.disabledAlgorithms这一项,去掉3DES_EDE_CBC,字符。然后重新启动项目,调用数据库执行SQL就没问题了

下面还有一个 3DES_EDE_CBC,也干掉就好了

重启电脑如果依然报这个SSL错误

更改properties的配置文件,加上这一段

加上这一段如果报

com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败

解决方案 :

打开SQL Server Configuration Manager,点击SQL Server 网络配置前面的三角号,选择SQLEXPRESS协议,查看TCP/IP的状态是否是已启用,如果是已禁用,则右键点击TCP/IP选项,选择启用,如下图所示:

https://img-blog.csdn.net/20170506144842416?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzEwMTA0MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

然后右键点击TCP/IP选项,选择属性,选择IP地址,拉到最下面,可以看到IPAllTCP端口填写为1433,点击确定。

https://img-blog.csdn.net/20170506145416095?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzEwMTA0MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

然后选择SQL Navite Client 10.0配置下的客户端协议,在这里保证TCP/IP的状态为已启用,如下图所示:

https://img-blog.csdn.net/20170506145715849?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzEwMTA0MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

右键点击TCP/IP,选择属性,可以看到这里默认端口也是1433如下图所示

https://img-blog.csdn.net/20170506150038666?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzEwMTA0MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

最后要重启服务才可以保证修改生效,选择SQL Server服务下的SQL Server ,右键选择重新启动,重启服务如下图所示:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值