Spring源代码解析(三):Spring JDBC - 编程入门网
。在这 里我们只需要定义SQL语句和SqlParameter - 如果需要的话,往往SQL语句就常常能够满 足我们的要求了。这是灵活使用JdbcTemplate的一个很好的例子。
Spring还为其他数据库操作提供了许多服务,比如使用SqlUpdate插入和更新数据库, 使用UpdatableSqlQuery更新ResultSet,生成主键,调用存储过程等。 书中还给出了对BLOB数据和CLOB数据进行数据库操作的例子: 对BLOB数据的操作通过LobHander来完成,通过调用JdbcTemplate和RDBMS都可以进行 操作: 在JdbcTemplate中,具体的调用可以参考书中的例子 - 是通过以下调用起作用的: 代码
然后通过对实现PreparedStatementCallback接口的 AbstractLobCreatingPreparedStatementCallback的回调函数来完成: 代码
而我们注意到setValues()是一个需要实现的抽象方法,应用程序通过实现setValues 来定义自己的操作 - 在setValues中调用lobCreator.setBlobAsBinaryStrem()。让我们 看看具体的BLOB操作在LobCreator是怎样完成的,我们一般使用DefaultLobCreator作为 BLOB操作的驱动: 代码
上面提到的是零零碎碎的Spring JDBC使用的例子,可以看到使用Spring JDBC可以帮 助我们完成许多数据库的操作。Spring对数据库操作最基本的服务是通过JdbcTeamplate 和他常用的回调函数来实现的,在此之上,又提供了许多RMDB的操作来帮助我们更便利的 对数据库的数据进行操作 - 注意这里没有引入向Hibernate这样的O/R方案。对这些O/R方 案的支持,Spring由其他包来完成服务。 书中还提到关于execute和update方法之间的区别,update方法返回的是受影响的记录 数目的一个计数,并且如果传入参数的话,使用的是java.sql.PreparedStatement,而 execute方法总是使用 java.sql.Statement,不接受参数,而且他不返回受影响记录的计 数,更适合于创建和丢弃表的语句,而update方法更适合于插入,更新和删除操作,这也 是我们在使用时需要注意的。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |