【Spring实战】配置单数据源
- 电脑硬件
- 2025-07-21 19:09:33

文章目录 1. 定义2. 准备3. 打印连接信息4. 实战1)创建表2)添加数据3)查询数据3)执行 5. 详细代码总结 在我们常见的应用程序中,与数据库的交互是不可避免的一部分。Spring 提供了简单而强大的数据访问抽象,允许我们轻松配置和管理数据库连接。本文将引导你如何在 Spring 项目中配置和使用单一数据源。 1. 定义
数据源,通常指的是用于数据库访问的对象。
Spring 数据源可以配置在应用程序的配置文件中,它提供了一种管理数据库连接的方式,支持事务管理、连接池等特性。
2. 准备使用 Spring Initializr 生成项目
登录官网
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 中加入如下代码
@Autowired private 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)查询数据 @Autowired private JdbcTemplate jdbcTemplate; @RequestMapping("user") public String getUser() throws SQLException { return jdbcTemplate.queryForList("select * from t_user").toString(); } 3)执行启动服务,并使用浏览器访问如下 URL
http://localhost:8080/user
5. 详细代码github /cheney09/spring-practical-combat/tree/main/01/demo
总结通过本文的介绍,你已经成功配置并使用了一个简单的数据源。这是一个基础的示例,你可以根据实际情况进行调整和扩展,例如配置连接池、使用其他数据库、定义更复杂的数据模型等。希望这篇博客对你学习如何在 Spring 中配置单数据源提供了一些帮助。
【Spring实战】配置单数据源由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【Spring实战】配置单数据源”