添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
< 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=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简单的数据插入就完成了

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

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

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