数据源,通常指的是用于数据库访问的对象。
Spring 数据源可以配置在应用程序的配置文件中,它提供了一种管理数据库连接的方式,支持事务管理、连接池等特性。
使用 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 方法等 。
在生成的 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
以上信息都是 Spring 依赖了 H2 数据库之后默认的配置
schema.sql
CREATE TABLE IF NOT EXISTS `t_user` (
`id` INTEGER PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(32) NOT NULL,
`age` INTEGER NOT NULL
);
data.sql
INSERT INTO `t_user` (`id`, `name`, `age`) VALUES (1, 'cheney', '18');
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping("user")
public String getUser() throws SQLException {
return jdbcTemplate.queryForList("select * from t_user").toString();
}
启动服务,并使用浏览器访问如下 URL
http://localhost:8080/user
https://github.com/cheney09/spring-practical-combat/tree/main/01/demo
通过本文的介绍,你已经成功配置并使用了一个简单的数据源。这是一个基础的示例,你可以根据实际情况进行调整和扩展,例如配置连接池、使用其他数据库、定义更复杂的数据模型等。希望这篇博客对你学习如何在 Spring 中配置单数据源提供了一些帮助。