1. 来头
Spring JDBC指的是Spring对JDBC一系列的支持,并不仅仅是一种技术。
而且实际上最常用的,并不是Spring对JDBC的这些封装技术,而是Spring+MyBatis或者Spring+Hibernate这样的结合。
那么为何还要介绍Spring JDBC呢,有几点原因:
对简单项目而言,使用Spring JDBC还是比较划算的,因为其配置少,开发快,而且确实比原生的JDBC要简洁不少。
Spring JDBC可以展现Spring是如何封装数据库操作的,后续讲解Spring+MyBatis也有一部分技术类似于Spring JDBC,这样循序渐进,大家能够对Spring理解的更加深刻。
Spring JDBC非常典型的使用了Spring中的依赖注入,大家可以参考学习Spring官方自己是如何进行依赖注入设计与实现的。
总之,Spring JDBC的来头就是既有实用价值,又有学习价值,非常完美吭。
2. 缘由
重复代码会使程序变得很糟糕,避免重复总是我们追求的事情。但是原生的JDBC,总避免不了乏味无趣的模板代码:
try{
//获取数据库连接
//开始事务
//执行sql查询或者更新操作
//提交事务
}catch(Exception e){
//异常处理
}finally{
//关闭数据库连接
}
可以说,这些模板代码与数据持久化的业务逻辑其实并没有什么关联,但是我们仍然需要浪费时间和精力来编写和维护,同时由于这些代码与业务逻辑混合在一起,不利于我们封装。
OK,既然不合理,那就干掉他们,我们可以自行实现封装,也可以直接拿过Spring JDBC的封装来使用。
3. 内容概要
Spring JDBC部分,我们主要介绍使用JdbcTemplate、NamedParameterJdbcTemplate类完成对数据库的操作。
他们是依赖DataSource来获取数据源的,所以我们首先得介绍DataSource相关的技术。
然后我们会实现基于xml的JdbcTemplate演示,基于JavaConfig配置的NamedParameterJdbcTemplate类演示,再次让大家熟悉不同的配置方式的同时,了解JdbcTemplate和NamedParameterJdbcTemplate类。
最后我们将Spring Restful+jQuery+Bootstrap实现的博客系统的数据库操作部分切换为Spring JDBC,大家可以看到使用了Spring组件化思想后,更换组件是多么简单的一件事情!Spring的闪光点,确实太多了。