文章目录
- 1. 定义
- 2. 准备
- 3. 打印连接信息
- 4. 实战
- 1)创建表
- 2)添加数据
- 3)查询数据
- 3)执行
- 5. 详细代码
- 总结
在我们常见的应用程序中,与数据库的交互是不可避免的一部分。Spring 提供了简单而强大的数据访问抽象,允许我们轻松配置和管理数据库连接。本文将引导你如何在 Spring 项目中配置和使用单一数据源。
1. 定义
数据源,通常指的是用于数据库访问的对象。
Spring 数据源可以配置在应用程序的配置文件中,它提供了一种管理数据库连接的方式,支持事务管理、连接池等特性。
2. 准备
使用 Spring Initializr 生成项目
登录官网
https://start.spring.io/
使用了 Maven 构建,修改 Group 名,选择了最新的 Java 21。添加了 Web,H2,JDBC,Lombok 的依赖。
然后直接点击 GENERATE 生成啦,生成完成后将其导入到 IDEA 中。这里就不赘述啦,如果有不知道如何详细操作的,请参考 【Spring实战】创建第一个项目 ,这里进行了详细说明。
-
Spring Web
提供了对多种 Web 框架的支持,,用于处理与 Web 相关的任务。
-
H2 Database
提供了一种内存数据库便于我们使用,它可以完全存储在内存中,也可以保存到磁盘上。
-
JDBC API
提供了一组 Java 类和接口,用于执行 SQL 查询、更新数据库、处理事务等数据库相关操作。
-
Lombok
用于自动生成一些常用的 Java 代码,如 getter 和 setter 方法、构造函数、equals 和 hashCode 方法等 。
3. 打印连接信息
在生成的 DemoApplication 中加入如下代码
@Autowiredprivate DataSource dataSource;@RequestMapping("info")public String info() throws SQLException {StringBuilder sb = new StringBuilder();Connection connection = dataSource.getConnection();sb.append("Connection Info:</br>");sb.append(connection.toString());connection.close();return sb.toString();}
然后启动服务
使用浏览器请求如下 URL
http://localhost:8080/info
- 连接信息是 HikariProxyConnection
- 数据库信息 url=jdbc:h2:mem:d3f8bcc6-e0c0-4be3-ad85-e5d4b87e58b7
- 用户名 user=SA
以上信息都是 Spring 依赖了 H2 数据库之后默认的配置
4. 实战
1)创建表
schema.sql
CREATE TABLE IF NOT EXISTS `t_user` (`id` INTEGER PRIMARY KEY AUTO_INCREMENT,`name` VARCHAR(32) NOT NULL,`age` INTEGER NOT NULL
);
2)添加数据
data.sql
INSERT INTO `t_user` (`id`, `name`, `age`) VALUES (1, 'cheney', '18');
3)查询数据
@Autowiredprivate JdbcTemplate jdbcTemplate;@RequestMapping("user")public String getUser() throws SQLException {return jdbcTemplate.queryForList("select * from t_user").toString();}
3)执行
启动服务,并使用浏览器访问如下 URL
http://localhost:8080/user
5. 详细代码
https://github.com/cheney09/spring-practical-combat/tree/main/01/demo
总结
通过本文的介绍,你已经成功配置并使用了一个简单的数据源。这是一个基础的示例,你可以根据实际情况进行调整和扩展,例如配置连接池、使用其他数据库、定义更复杂的数据模型等。希望这篇博客对你学习如何在 Spring 中配置单数据源提供了一些帮助。