开发环境:
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-jdbc
的 SQLServer
驱动,由于是 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=true
或 encrypt=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> {
}
继承 MyBatisPlus
的 BaseMapper
基类
新建 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
简单的数据插入就完成了
数据的查询、修改以及删除亦是如此,这里就不做描述了
最后
网上很多文章都是一模一样的描述,或者是类似的,导致一步一个坑
也幸好最终完成集成工作,在此记录一下,避免再踩坑