Spring 整合 JDBC 的方式

  • 添加依赖
  • 编写配置文件 db.properties
  • bean.xml 配置修改
  • 配置数据源
  • 模板类配置
  • 测试整合结果

案例实操

添加依赖

数据库驱动 jar 包

mysql

数据库连接池相关 jar 包

c3p0

Spring jdbc 相关 jar

spring

配置文件db.properties

jdbc

以下为可选配置

initialPoolSize

bean.xml 配置修改

加载 properties 文件配置

<!-- 加载 properties 配置文件 -->

配置数据源

由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先 同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连 接池中申请一个就行,用完后再放回去。

C3P0 dbcp 二选一即可

​ DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用 dbcp 需要 2 个包:commons-dbcp.jar,commons-pool.jar dbcp,没有自动回收空闲连接的功能.

​ C3P0 是一个开源的 JDBC 连接池,它实现了数据源,支持 JDBC3 规范和 JDBC2 的标准扩展。目前使用它的开源项目有 Hibernate,Spring 等。c3p0 有自动回收空闲连接功能

C3P0 数据源配置

<!-- 配置 c3p0 数据源 -->

C3P0 其他额外配置(对应的值在 db.properties 文件中指定)

<!-- 指定连接池中保留的最大连接数. Default:15-->

对于 dbcp 数据源配置如下:

<!-- 配置 dbcp 数据源-->

模板类配置

Spring 把 JDBC 中重复的操作建立成了一个模板类:org.springframework.jdbc.core.JdbcTemplate ,配置文件中加入

<!-- jdbcTemplate 配置 -->

测试整合结果

通过 junit 测试 jdbcTemplate bean 是否获取到

public 

扩展

JDBC 事务

如果应用程序中直接使用 JDBC 来进行持久化,此时使用 DataSourceTransactionManager 来处理事务边界。为了使用 DataSourceTransactionManager,需要使用如下的 XML 将其装配到应用程序的上下文定义中:

<bean 

实际上,DataSourceTransactionManager 是通过调用 java.sql.Connection 来管理事务, 而后者是通过 DataSource 获取到的。通过调用连接的 commit()方法来提交事务,同样,事务失败则通过调用 rollback()方法进行回滚。

java jdbc jar包_通过 Spring 框架如何进行JDBC操作呢?相关推荐

  1. java jdbc jar包_大数据从入门到深入:JavaEE 之 数据库技术 JDBC(1)

    1章 JDBC 1.1 JDBC概述 JDBC(Java DataBase Connectivity,java动态数据 库连接技术)是一种用于执行SQL语句的Java API : Applicatio ...

  2. java groovy jar包_如何将jar包包含在groovy脚本中?

    如果你真的需要,你也可以在运行时加载一个JAR: this.getClass().classLoader.rootLoader.addURL(new File("file.jar" ...

  3. spring boot jar包_「Spring Boot 新特性」 jar 大小自动瘦身

    自动分析瘦身 Spring Boot 项目最终构建处理 JAR 包大小一直是个诟病,需要把所有依赖包内置最终输出可运行的 jar.当然可以使用其他的插件扩展 实现依赖 JAR 和 可运行 jar 分离 ...

  4. java bat 运行 jar文件_运行bat文件启动java的jar且不弹出DOS窗口,后台运行java的jar包...

    本文主要是将java的jar包启动的cmd命令添加到bat文件来执行,且不弹出DOS窗口,也就是后台运行java的jar包. 这里以win10为例 1.新建 一个txt文件,在文件添加以下内容.其中E ...

  5. java -jar 停止_推荐:Linux启动Java程序jar包Shell脚本

    每次启动Java程序jar包的时候,难道你还在手敲java -jar xxserver.jar--?边敲边想着都需要追加哪些参数? 今天就推荐给大家一个几乎通用的Shell脚本,它支持Java程序Ja ...

  6. php项目如何导jdbc包,JDBC-idea导入mysql连接java的jar包(mac)的方法

    前言 1.本文使用的是mysql8.0版本 与5.0版本相比:导包方式相同,后面代码中的注册驱动方式不同 1.mac与pc的idea菜单和图标不是完全相同,但是步骤是差不多的 下载对应版本的jar包 ...

  7. java ear包_简单介绍Java 的JAR包、EAR包、WAR包区别

    原标题:简单介绍Java 的JAR包.EAR包.WAR包区别 WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.War专 ...

  8. Java常见Jar包的用途

    jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法. jaxrp ...

  9. JAVA常用jar包简介

    java开发中主要用到的jar包介绍 commons-io.jar: 可以看成是java.io的扩展,用来帮助进行IO功能开发.它包含三个主要的领域:Utilityclasses-提供一些静态方法来完 ...

最新文章

  1. jquery投色子动画
  2. 学python要考什么证-这十个Python常用库,学习Python的你必须要知道!
  3. net4.0 程序没反应_@Java程序员,精通Spring,你不得不知道的那些书
  4. 封装getByClass(JS获取class的方法封装为一个函数)
  5. MyBatis 插件原理与自定义插件-需求实现
  6. h.264视频文件封装
  7. 利用支持MicroPython的TPYBoard开发板自制PM2.5检测仪(萝卜教育学科式编程)
  8. 简单解决新浪博客“您短时间发表文章过多,请稍后再试”的问题
  9. linux早期内核的khttpd服务器--策略污染机制
  10. 执行数据库命令Command对象——ADO.NET学习应用笔记之三
  11. 1.SpringDataJPA (查询:主键或其他字段、增加/修改、分页) 2021最新技术~方便快捷 博主可答疑
  12. 探索深海生态系统和冰卫星的协同作用-深海机器人开发与空间技术合作
  13. TYUT太原理工大学2022需求工程考试填空题
  14. 《21天学通HTML+CSS+JavaScript Web开发(第7版)》——2.4 您要在Web上做什么
  15. 考研前夕 — 成人的世界里没有那么多童话
  16. 5个海盗分100颗宝石
  17. css实现人走路效果,纯css实现机器人走路动画
  18. Java正则表达式校验密码规则
  19. C语言读取文件函数:fgets(); fgetc()
  20. Python在Linux下获取CPU温度、使用率、内存使用率、硬盘使用率

热门文章

  1. centos7安装Nginx 配置及反向代理
  2. 【总结】C++逻辑与或
  3. BeanUtils介绍及其使用
  4. 为当前会话的所有作用域中的任何表最后生成的标识值。
  5. c 语言 volatile 关键字
  6. Android 中文API (68) —— BluetoothClass.Service
  7. Tomcat 添加为系统服务 开机自动启动
  8. linux wireshark 安装教程,Linux下安装和运行Wireshark
  9. usb连接不上 艾德克斯电源_工程师,USB与SPI之间如何通信?什么芯片方案可以实现...
  10. 注解@controller的作用_@controller和@Restontroller区别