当前位置: 代码迷 >> 综合 >> Spring 配置数据源的方式和 jdbcTemplate
  详细解决方案

Spring 配置数据源的方式和 jdbcTemplate

热度:20   发布时间:2023-12-15 00:06:17.0

我的博客只是个人学习记录,难免有个人理解的偏差,真正学习的话还是推荐去官网

1.传统的jdbc连接数据库

  • 1) 导入数据库驱动包
  • 2) 编码获得连接
  • 3) 进行数据库操作
  • 4) 关闭连接

弊端:需要手动管理数据库连接,并且对SQL的执行,执行结果也需要手动解析,解析完毕后还要关闭数据库连接,即使我们写了jdbc的工具类,写出来程序也很繁琐,并且如果用Spring的话肯定要考虑和Spring集成,注册到Spring里面,而Spring已经对JDBC进行了封装,叫做jdbcTemplate,不用我们再手动管理连接,通过PreparedStatement类处理SQL语句,再通过它的.setObject方法传入数据,最后通过方法.executeUpdate()和.executeQuery()执行更新等操作,只需要调用jdbcTemplate的API,即可轻松完成数据库的增删改查操作

2.Spring的jdbcTemplate

  • 使用Spring的JdbcTemplate 首先需要配置一个数据源 DataSource
  • JdbcTemplate对外提供API然后利用DataSource提供的数据源做对数据库的连接、CRUD操作
  • DataSource又分Spring提供的org.springframework.jdbc.datasource.DriverManagerDataSource 和 数据库连接池类的DataSource(c3p0、dhcp、druid),Spring官网上只描述了自带的DataSource和c3p0,dhcp三种配置方式,其中c3p0和dhcp还有很多配置属性,这里不一一赘述
  • 其中DriverManagerDataSource这种Spring自带的DataSource并没有连接池的作用,它是你需要一个连接它就新建立一个连接,不需要就断开,而不是像连接池一样,从连接池里拿连接,不需要了就放回连接池,所以真正企业项目还是用c3p0、dhcp、druid这种的DataSource
  • Spring中管理DataSource和JdbcTemplate是和普通bean一样管理的,只需要普通的getBean或者bean注入就能拿到
  • 其实JdbcTemplate真正操作操作数据库获得连接,执行SQL等操作,就是用的DataSource,然后DataSoruce调用的数据库驱动 . 源码证据截图如下:

1)用DataSource从数据库获取连接

2)用DataSource返回的连接做数据库的增删改查操作

3)DataSource调用数据库驱动DriverManager获取数据库连接

Spring中的具体配置方式如下:

  1. XML方式配置(直接上官网代码)

其实完全可以让Spring将JdbcTemplate管理起来,配置如下:

2.注解方式配置(直接上代码)

 

完毕!

  相关解决方案