Spring+JDBC编程

来源:互联网 发布:华罗庚的优化法时间 编辑:程序博客网 时间:2024/06/05 20:14

Jdbc编程特点

静态代码+动态变量 = jdbc编程。在spring中动态变量可以用注入的形式给予。这样的编程方式适合包装成模板。静态代码构成了模板,而动态变量则是需要传入的参数。

引入DataSource

在spring中注入DataSource

核心类JdbcTemplate

1、 基于模板的设置(为什么可以设置成基于模板的形式)
2、 完成了资源的创建和释放的工作
3、 简化为我们对JDBC的操作
4、 完成了对JDBC的核心流程的工作,包括SQL语句的创建和执行
5、 仅需要传递DataSource就可以把它实例化
6、 JdbcTemplate只需要创建一次
7、 JdbcTemplate是线程安全类

使用JdbcTemplate

在Dao类中,用JdbcTemplate作为属性,用spring对JdbcTemplate进行注入。再对JdbcTemplate进行DataSource注入。
注:为什么只要对JdbcTemplate注入DataSource就可以了?

继承JdbcDaoSupport

在Dao类中,继承JdbcDaoSupport。因为JdbcDaoSupport已经有了JdbcTemplate的引用,所以只要继承JdbcDaoSupport就相当于有了JdbcTemplate属性。

使用properties文件

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    <property name="locations">        <list>            <value>jdbc.properties</value>        </list>    </property></bean>

配置dbcp的数据库连接池

这里写图片描述

使用properties文件配置dbcp的数据库连接池

这里写图片描述

引入DataSource的几种方式

方式一:继承JdbcDaoSupport直接引入

这里写图片描述

方式二:不继承JdbcDaoSupport使用set方法引入

这里写图片描述

方式三:继承JdbcTemplate使用构造函数引入

这里写图片描述

RowMapper的使用

1、 产生原因:在Jdbc的操作中,有很多情况下是要将ResultSet里的数据封装到一个持久化Bean里,再把持久化Bean封装到集合中。这样会造成大量的代码的重复,不利于代码重用。而RowMapper正好解决了这个问题。
这里写图片描述
2、 使用:
a、 写一个类实现RowMapper接口
这里写图片描述
b、 在回调接口中,作为参数进行传入即可。
这里写图片描述

例如:
这里写图片描述

声明式事务管理

这里写图片描述

Spring的事务管理器

这里写图片描述

Spring事务的传播属性

这里写图片描述

Spring事务的隔离级别

这里写图片描述

以XML配置的 形式

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

小结

这里写图片描述

以注解方式配置

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

2 0
原创粉丝点击