快速业务通道

Spring JDBC抽象框架简化Web数据库开发 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
ntext; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.RowMapperResultReader; import org.springframework.jdbc.core.support.JdbcDaoSupport;    public class TasksJdbcDAO extends JdbcDaoSupport implements TasksDAO {    public List getTasksNames() {    JdbcTemplate jt = getJdbcTemplate();    return jt.query("select TASKNAME from tasks", new RowMapperResultReader(new TasksRowMapper()));   }   class TasksRowMapper implements RowMapper {    public Object mapRow(ResultSet rs, int index)    throws SQLException {     return rs.getString(1);    }   }   public static void main(String[] args)throws Exception {    ApplicationContext ctx = new ClassPathXmlApplicationContext("SpringConfig.xml");    DataSource ds =(DataSource) ctx.getBean("dataSourceDBDirect");    TasksJdbcDAO taskDao = new TasksJdbcDAO();    taskDao.setDataSource(ds);    Iterator tskIter = taskDao.getTasksNames().iterator();    while (tskIter.hasNext()) {     System.out.println(tskIter.next().toString());    }   } }

Spring JDBC抽象框架简化Web数据库开发(3)

时间:2011-01-06 天极 朱先忠

在上面的例子中,普通的和复杂的任务代码已经被移交到框架中。还应注意,借助于Spring JDBC,我们如何利用控制反转(IoC)容器来提供一种DataSource-我们仅把它注入到TasksJdbcDAO对象中。

控制反转背后的概念通常被表达为"不要找我,让我找你好了"。IoC把一些任务移交到了框架中,并且脱离出了应用程序代码。不是让你的代码调用一个传统的类库,而是一个IoC框架调用你的代码。存在于许多API中的生命周期回调,例如相应于会话EJB的setSessionContext()方法,正是展示了这种方法。

DataSource必须被注入到这个类中(或者其超类中),这是通过setDataSource()方法实现的。所有配置细节都远离了业务逻辑或客户端代码;这增加你的应用程序的松耦合性并因此而提高了程序的可测试性和可维护性。作为选择,我们还能在JNDI或servlet容器中建立一个DataSource,并用编程方式来检索它,然后把它注入到DAO对象中。下面是一个你可以使用的示例Spring bean配置文件-SpringConfig.xml:

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="dataSourceDBDirect" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">   <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>   <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>   <property name="username" value="scott"/>   <property name="password" value="tiger"/> </bean> </beans>

这个文件指示Spring bean容器实例化一个dataSourceDBDirect bean-它基于org.springframework.jdbc.datasource.DriverManagerDataSource类创建。

1) 基于Spring JDBC实现一个业务层

我们已经看到了一个简单的使用Spring JDBC的例子,在这

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号