Spring源代码解析(三):Spring JDBC - 编程入门网
9 javaeye jiwenke
那我们实际的DataSource对象是怎样得到的?很清楚我们需要在上下文中进行配置: 它作为JdbcTemplate父类JdbcAccessor的属性存在: 代码
而对于DataSource的缓冲池实现,我们通过定义Apache Jakarta Commons DBCP或者 C3P0提供的DataSource来完成,然后只要在上下文中配置好就可以使用了。从上面我们看 到JdbcTemplate提供了许多简单查询和更新功能,但是如果需要更高层次的抽象,以及更 面向对象的方法来访问数据库。Spring为我们提供了org.springframework.jdbc.object 包,这里面包含了SqlQuery,SqlMappingQuery, SqlUpdate和StoredProcedure等类,这些 类都是Spring JDBC应用程序可以使用的主要类,但我们要注意使用这些类的时候,用户 需要为他们配置好一个JdbcTemplate作为其基本的操作的实现。 比如说我们使用MappingSqlQuery来将表数据直接映射到一个对象集合 - 具体可以参 考书中的例子 1.我们需要建立DataSource和sql语句并建立持有这些对象的MappingSqlQuery对象 2.然后我们需要定义传递的SqlParameter,具体的实现我们在MappingSqlQuery的父类 RdbmsOperation中可以找到: 代码
而这个declareParameters维护的是一个列表: 代码 /** List of SqlParameter objects */ private List declaredParameters = new LinkedList(); 这个列表在以后compile的过程中会被使用。 3.然后用户程序需要实现MappingSqlQuery的mapRow接口,将具体的ResultSet数据生 成我们需要的对象,这是我们迭代使用的方法。1,2,3步实际上为我们定义好了一个迭 代的基本单元作为操作模板。 Spring源代码解析(三):Spring JDBC(4)时间:2011-03-29 javaeye jiwenke4.在应用程序,我们直接调用execute()方法得到我们需要的对象列表,列表中的每一 个对象的数据来自于执行SQL语句得到记录集的每一条记录,事实上执行的execute在父类 SqlQuery中起作用: 代码
在这里我们可以看到template模式的精彩应用和对JdbcTemplate的灵活使用。通过使 用它,我们免去了手工迭代ResultSet并将其中的数据转化为对象列表的重复过程 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |