spring dao层中对jdbc进行了封装,使用模板模式的设计模式,通过ioc被动注入的方式将jdbcTemplate这个模板类注入到数据对象中,进行数据库操作。

我们要在一个类中进行CRUD操作(crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。),首先要将jdbcTemplate这个模板类注入到数据对象类中,然后将DataSource这个类注入到jdbcTemplate,获取数据源。 这样数据对象类就可以通过jdbcTemplate类中的方法进行数据库操作了。

注意:这里需要导如spring jdbc的两个包和数据库驱动包

在Spring中使用JDBC操作数据库时,我们需要通过DataSource获取一个数据库连接,然后开始执行SQL,SQL执行完成后,我们需要处理SQL的结果,最后关闭连接,处理异常等。

无论我们是查询,还是插入或者删除数据,整体过程比较类似,唯一变化的部分是执行的SQL不同,处理SQL的结果的代码不同,其余部分基本相同。所以,如果使用JDBC直接操作数据库,就会使代码中存在很多相似且重复的代码。

为了解决这个问题,Spring为我们提供的解决方案是,使用JDBC模板。Spring的JDBC模板能够承担资源管理和异常处理的工作,从而简化我们的JDBC代码,让我们可以只编写从数据库中读写数据的代码。

对于JDBC来说,Spring提供了3个模板类。

1,JdbcTemplate:Spring里最基本的JDBC模板。

2,NamedParameterJdbcTemplate:能够在执行查询时,把值绑定到SQL里的命名参数。

3,SimpleJdbcTemplate:利用Java5的特性,比如自动装箱,generic和可变参数列表来简化JDBC模板的使用。

具体的使用例子,会像这个样子:

获取到JDBC模板对象后,直接执行SQL即可,jdbcTemplate.update(SQL)。