SpringBoot使用MyBatisPlus连接SQLServer

1,551 阅读2分钟

开发环境:

SpringBoot-2.7.0
MyBatisPlus-3.5.1
SQLServer-2019

准备工作

创建一个SpringBoot项目,这里为了方便,直接使用 SpringBoot Web项目的方式

添加Maven依赖

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

这里使用的是 mssql-jdbcSQLServer驱动,由于是 SpringBoot 项目内置添加了依赖的版本号,因此在此并不需要指定其版本号,若有自定义需求,则再添加版本号即可 <version>版本号</veersion>

编写配置文件

application.properties 配置文件

# 指定驱动类
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver

spring.datasource.url=jdbc:sqlserver://<ip>:<port>;databaseName=<数据库名>;trustServerCertificate=true;
spring.datasource.username=数据库用户名
spring.datasource.password=登录密码

ip: 数据库所在的IP地址

port: 数据库所使用的的端口号(若在默认情况下,端口号可以选择不填),默认1433

databaseName: 数据库名称

关于url的连接属性,详见:docs.microsoft.com/zh-cn/sql/c…

关于 trustServerCertificate

这里是为了解决jdbc连接数据库的时候出现的异常,异常内容如下:

驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”

该异常可通过在 url 连接中填写连接属性 trustServerCertificate=trueencrypt=false二者选一即可

有很多小可爱的文章, 修改什么jre的文件,移除jre的security文件,搞的踩了近一小时的坑

操作数据库

数据插入

新建一个 entity/User.java

@Data
@TableName("[user]")
public class User {

    private Integer id;

    private String username;

    private String password;

这里必须要注意一个点,@TableName("[user]")注解的表名一定要添加 方括号[],避免在数据插入时发生SQL语法错误

MyBatisPlus 在数据插入的时候,表名是没有经过添加方括号的,这里需要手动添加一下

新建一个 mapper/UserMapper.java

@Mapper
@Repository
public interface UserMapper extends BaseMapper<User> {

}

继承 MyBatisPlusBaseMapper 基类

新建 controller/UserController.java

@RestController
public class UserController {

    @Resource
    private UserMapper userMapper;

    @GetMapping("/save")
    public String save() {

        User user = new User();
        user.setId(2);
        user.setUsername("xiaomo");
        user.setPassword("123");
        int flag = userMapper.insert(user);
        return flag >= 1 ? "添加成功" : "添加失败";
    }

}

这样 SpringBoot 使用 MyBatisPlus连接 SQLServer简单的数据插入就完成了

数据的查询、修改以及删除亦是如此,这里就不做描述了

最后

网上很多文章都是一模一样的描述,或者是类似的,导致一步一个坑

也幸好最终完成集成工作,在此记录一下,避免再踩坑