当前位置: 首页 > news >正文

【Spring实战】配置单数据源

文章目录

      • 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 中加入如下代码

    @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. 详细代码

https://github.com/cheney09/spring-practical-combat/tree/main/01/demo

在这里插入图片描述

总结

通过本文的介绍,你已经成功配置并使用了一个简单的数据源。这是一个基础的示例,你可以根据实际情况进行调整和扩展,例如配置连接池、使用其他数据库、定义更复杂的数据模型等。希望这篇博客对你学习如何在 Spring 中配置单数据源提供了一些帮助。

相关文章:

  • ICC2:Less than minimum edge length和Concave convex edge enclosure
  • Backend - Django 项目创建 运行
  • 基于查表法的水流量算法设计与实现
  • 漫谈UNIX、Linux、UNIX-Like
  • 2024年第二届“华数杯”国际大学生数学建模竞赛思路及代码
  • 神经网络可以计算任何函数的可视化证明
  • SearchWP WordPress高级网站内容搜索插件
  • 【Redis】五、Redis持久化、RDB和AOF
  • 卷积神经网络的学习与实现
  • 《论文阅读28》Unsupervised 3D Shape Completion through GAN Inversion
  • 机器学习笔记:支持向量机回归SVR
  • JavaSE学习笔记 Day23
  • 【数据结构】并查集的简单实现,合并,查找(C++)
  • 力扣:203. 移除链表元素(Python3)
  • 百度侯震宇:AI原生与大模型将从三个层面重构云计算
  • 关于with torch.no_grad:的一些小问题
  • Mac 上配置Java环境变量
  • 力扣题目学习笔记(OC + Swift)16. 最接近的三数之和
  • Elasticsearch 性能调优基础知识
  • Android Studio 显示前进后退按钮
  • 价格周报|供需回归僵局,本周生猪均价与上周基本持平
  • 烈士沈绍藩遗孤、革命家帅孟奇养女舒炜逝世,享年96岁
  • 公安部部署“昆仑2025”专项工作,严打环食药等领域突出犯罪
  • 体坛联播|曼联热刺会师欧联杯决赛,多哈世乒赛首日赛程出炉
  • 泉州一家婚介机构广告牌越南新娘七天闪婚领证?市监部门介入
  • 动物只有在被认为对人类有用时,它们的建筑才会被特别设计