springboot 引入jdbc驱动_SpringBoot整合Spring JDBC操作数据

一、jdbc简介

JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,

术语:什么是持久层:在后面的章节我会经常用到持久层这个词,持久层就是指对数据进行持久化操作的代码,比如将数据保存到数据库、文件、磁盘等操作都是持久层操作。所谓持久就是保存起来的意思。对于web应用最常用的持久层框架就是JDBC、Mybatis、JPA。

二、使用jdbc操作数据库的步骤

直接在 Java 程序中使用 JDBC 比较复杂,需要 7 步才能完成数据库的操作:

加载数据库驱动

建立数据库连接

创建数据库操作对象

定义操作的 SQL 语句

执行数据库操作

获取并操作结果集

关闭对象,回收资源

关键代码如下:

try {

// 1、加载数据库驱动

Class.forName(driver);

// 2、获取数据库连接

conn = DriverManager.getConnection(url, username, password);

// 3、获取数据库操作对象

stmt = conn.createStatement();

// 4、定义操作的 SQL 语句

String sql = "select * from user where id = 6";

// 5、执行数据库操作

rs = stmt.executeQuery(sql);

// 6、获取并操作结果集

while (rs.next()) {

// 解析结果集

}

} catch (Exception e) {

// 日志信息

} finally {

// 7、关闭资源

}

通过上面的示例可以看出直接使用 JDBC 来操作数据库比较复杂。为此,Spring Boot 针对 JDBC 的使用提供了对应的 Starter 包:spring-boot-starter-jdbc,它其实就是在 Spring JDBC 上做了进一步的封装,方便在 Spring Boot 生态中更好的使用 JDBC,下面进行示例演示。

本教程作为spring boot系列教程,并不能将spring jdbc的方方面面讲到,本文只会去讲最重要的部分,如果想更加深入的学习Spring JDBC。建议参考:https://www.yiibai.com/springjdbc

不论是JDBC,还是封装之后的Spring JDBC,直接操作数据库都比较麻烦。如果企业有成熟的ORM知识积累,并且无特殊需求,不建议直接使用JDBC操作数据库。

三、 将Spring JDBC集成到Spring boot项目

第一步:引入maven依赖包,包括spring JDBC和MySQL驱动。

org.springframework.boot

spring-boot-starter-jdbc

mysql

mysql-connector-java

第二步:修改application.yml,增加数据库连接、用户名、密码相关的配置。driver-class-name请根据自己使用的数据库和数据库版本准确填写。

# 数据库连接、用户名、密码相关的配置

spring:

datasource:

url: jdbc:mysql://localhost:3306/springboot-jdbc?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UT

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sharding-JDBC 是一款基于 JDBC数据库中间件,用于将一个大型数据库表拆分成多个小表存储在不同的数据库中。Spring Boot 是一个非常流行的 Java 开发框架,它提供了很多方便的功能,比如自动配置、自动装配等,使得开发过程变得更加简单。 要在 Spring Boot 中整合 Sharding-JDBC,需要完成以下几个步骤: 1. 引入 Sharding-JDBC 的依赖 在 pom.xml 文件中添加 Sharding-JDBC 和对应的数据驱动的依赖: ``` <dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-core</artifactId> <version>${sharding-jdbc.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> ``` 2. 配置 Sharding-JDBC数据源 在 application.yml(或 application.properties)文件中配置 Sharding-JDBC数据源。这里以 MySQL 数据库为例: ``` spring: datasource: driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource username: root password: 123456 url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false shardingsphere: datasource: names: ds0, ds1 ds0: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test0?useUnicode=true&characterEncoding=utf8&useSSL=false username: root password: 123456 ds1: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf8&useSSL=false username: root password: 123456 sharding: tables: user_info: actualDataNodes: ds$->{0..1}.user_info$->{0..1} tableStrategy: standard: shardingColumn: id preciseAlgorithmClassName: io.shardingjdbc.core.api.algorithm.sharding.PreciseModuloShardingAlgorithm rangeAlgorithmClassName: io.shardingjdbc.core.api.algorithm.sharding.RangeModuloShardingAlgorithm ``` 其中,`datasource.names` 配置了数据源的名称,`datasource.ds0` 和 `datasource.ds1` 分别配置了两个数据库实例的连接信息。`sharding.tables` 配置了需要进行分片的表的信息,`actualDataNodes` 配置了分片后的数据节点,`tableStrategy` 配置了分片算法。 3. 配置 MyBatis 如果使用 MyBatis 作为 ORM 框架,需要在 MyBatis 的配置文件中配置 Sharding-JDBC 的插件和数据源: ``` <plugins> <plugin interceptor="io.shardingjdbc.spring.boot.masterslave.SpringBootMasterSlavePlugin"/> </plugins> <environments default="master_slave"> <environment id="master_slave"> <transactionManager type="JDBC"/> <dataSource type="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${spring.datasource.driver-class-name}"/> <property name="url" value="${spring.datasource.url}"/> <property name="username" value="${spring.datasource.username}"/> <property name="password" value="${spring.datasource.password}"/> </dataSource> </environment> </environments> ``` 4. 测试分片效果 完成以上步骤后,就可以启动应用程序并测试分片效果了。可以插入一些数据并进行查询,观察数据是否被正确地分配到了不同的数据库中。 以上是整合 Sharding-JDBCSpring Boot 的基本步骤。当然,在实际应用中还需要根据具体业务需求进行更加详细的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值