开篇语

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

在Spring Boot和MyBatis Plus的加持下,如何轻松搞定SQL Server数据库连接?本文将带你逐步实现,并且展示如何自动生成代码结构,轻松解决开发中常见的连接报错问题。话不多说,快跟着一起看看吧!😄


📜目录

  1. 🌄 前言
  2. 🔗 配置 SQL Server 数据源
  3. 🚀 使用 MyBatis Plus 自动生成代码结构
  4. 🛠️ 常见报错及解决方案
  5. 🧐 拓展:SQL Server 配置小细节
  6. 🎉 总结

🌄 前言

在企业开发中,SQL Server作为大型数据库之一,经常被用于存储海量业务数据。配合Spring Boot和MyBatis Plus,我们能够实现快速、高效的数据库操作。要说接入SQL Server的数据库,怎么少得了代码自动生成呢?今天咱们就来聊聊——如何用Spring Boot连接SQL Server数据库,并通过MyBatis Plus生成标准代码结构


🔗 配置 SQL Server 数据源

首先,连接SQL Server数据库的关键在于正确的依赖和配置。我们一步步来配置Spring Boot项目,使它顺利连上SQL Server。

1. 添加依赖

pom.xml中,加入Spring Boot和MyBatis Plus的依赖,并添加SQL Server的驱动依赖:

<dependencies>
    <!-- Spring Boot 依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <!-- MyBatis Plus 依赖 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.3</version>
    </dependency>

    <!-- SQL Server JDBC 驱动 -->
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>9.4.0.jre8</version>
    </dependency>
</dependencies>

2. 配置数据源

接下来,配置application.properties文件,将SQL Server数据库的连接信息配置上:

spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=YourDatabaseName
spring.datasource.username=yourUsername
spring.datasource.password=yourPassword
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver

# MyBatis 配置
mybatis-plus.mapper-locations=classpath:/mapper/**/*.xml

注意:确保databaseNameusernamepassword的填写正确,否则会出现连接失败的报错!


🚀 使用 MyBatis Plus 自动生成代码结构

配置好SQL Server数据库后,下一步就是生成数据库的实体、Mapper、Service等基础代码了。MyBatis Plus 提供了一个代码生成器,只需要简单配置,即可完成全套代码的生成。

1. 配置代码生成器

src/main/java目录下创建一个CodeGenerator类,编写代码生成器:

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class CodeGenerator {
    public static void main(String[] args) {
        // 1. 全局配置
        GlobalConfig gc = new GlobalConfig();
        gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
        gc.setAuthor("Your Name");
        gc.setOpen(false);
        gc.setServiceName("%sService"); // Service命名方式

        // 2. 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:sqlserver://localhost:1433;databaseName=YourDatabaseName");
        dsc.setDriverName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        dsc.setUsername("yourUsername");
        dsc.setPassword("yourPassword");
        dsc.setDbType(DbType.SQL_SERVER);

        // 3. 包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName("yourModuleName");
        pc.setParent("com.yourcompany");

        // 4. 策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        strategy.setEntityLombokModel(true); // 使用lombok
        strategy.setRestControllerStyle(true); // Rest风格

        // 5. 整合配置
        AutoGenerator mpg = new AutoGenerator();
        mpg.setGlobalConfig(gc);
        mpg.setDataSource(dsc);
        mpg.setPackageInfo(pc);
        mpg.setStrategy(strategy);

        // 6. 执行生成
        mpg.execute();
    }
}

2. 运行生成器

只需运行CodeGenerator.main方法,MyBatis Plus会自动生成数据库对应的实体类、Mapper接口、Service接口和Controller。是不是超级方便!🙌


🛠️ 常见报错及解决方案

在配置和运行过程中,我们可能会遇到一些报错,以下是几种常见问题和解决方案:

1. ❌ 报错 com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed

原因:SQL Server没有开启TCP/IP协议或端口1433未开放。

解决方案

  • 确保SQL Server Configuration Manager中TCP/IP协议已启用。
  • 在“SQL Server 网络配置”中,找到TCP/IP协议并右键启用,然后重启服务。

2. ❌ 报错 java.sql.SQLException: No suitable driver found

原因:缺少SQL Server JDBC驱动。

解决方案

  • 检查pom.xml中的驱动依赖是否正确添加。
  • 确保spring.datasource.driver-class-name配置为com.microsoft.sqlserver.jdbc.SQLServerDriver

3. ❌ 报错 Mapper interface not found

原因:Mapper接口未被扫描到。

解决方案

  • 在Spring Boot启动类上加上@MapperScan("com.yourcompany.yourmodule.mapper")注解,确保Mapper路径正确。

🧐 拓展:SQL Server 配置小细节

SQL Server在一些配置细节上也有考究,以下是几点注意事项:

  1. 编码设置:如果数据库中包含中文或特殊字符,建议在连接URL中设置编码,如useUnicode=true&characterEncoding=UTF-8
  2. 批量操作支持:SQL Server在批量插入数据时性能较好,如果有大量数据写入,可以考虑批量插入。
  3. 锁定策略:SQL Server会对事务加锁,建议使用合适的隔离级别来减少锁冲突。

🎉 总结

以上就是使用Spring Boot和MyBatis Plus连接SQL Server并实现代码自动生成的完整步骤。通过这篇文章,我们不仅学会了配置数据库、自动生成代码结构,还了解了如何解决常见的报错问题。Spring Boot和MyBatis Plus的结合,可以极大提高开发效率,让我们专注于业务逻辑,而不是琐碎的配置。

希望这篇文章对大家有所帮助,如果你也在项目中遇到了类似问题,不妨按照本教程试试吧!Happy Coding! 🎉

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐