博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JdbcDaoSupport应用
阅读量:7243 次
发布时间:2019-06-29

本文共 2702 字,大约阅读时间需要 9 分钟。

JdbcDaoSupport是JDBC数据访问对象的超类。它与特定的数据源相关联。Spring Inversion of Control (IOC)容器或BeanFactory负责获得相应数据源的配置详细信息,并将其与JdbcDaoSupport相关联。这个类最重要的功能就是使子类可以使用JdbcTemplate对象。  图2:Spring JDBC框架的主要组件

#p#

JdbcTemplate是Spring JDBC框架中最重要的类。引用文献中的话:“它简化了JDBC的使用,有助于避免常见的错误。它执行核心JDBC工作流,保留应用代码以提供SQL和提取结果。”这个类通过执行下面的样板任务来帮助分离JDBC DAO代码的静态部分:

◆从数据源检索连接。

◆准备合适的声明对象。
◆执行SQL CRUD操作。
◆遍历结果集,然后将结果填入标准的collection对象。
◆处理SQLException异常并将其转换成更加特定于错误的异常层次结构。

应用实例:

1.applicationContext.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "">
<beans>
<bean id="myDataSource"
   class="org.apache.commons.dbcp.BasicDataSource"
   destroy-method="close">
   <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
   <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:lrmora9" />
   <property name="username" value="dmis2006_sj" />
   <property name="password" value="omssj" />
   <property name="maxActive" value="5" />
   <property name="maxIdle" value="3" />
   <property name="minIdle" value="2" />
   <property name="maxWait" value="2" />
   <property name="initialSize" value="1" />
   <property name="removeAbandoned" value="true" />
   <property name="removeAbandonedTimeout" value="180" />
   <property name="logAbandoned" value="true" />
</bean>
<bean id="jdbcDao" class="com.lrm.study.jdbc.SpringJdbcDaoSupportApp">
   <property name="dataSource">
    <ref bean="myDataSource" />
   </property>
</bean>
</beans>

2.测试类:

package com.lrm.study.springJDBCDao;

import java.util.List;

import java.util.Map;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.support.JdbcDaoSupport;

public class SpringJdbcDaoSupportApp extends JdbcDaoSupport{

/**
on May 10, 2010 by lrm
*/
public static void main(String[] args) {
   //applicationContext.xml这个文件放到src下,如果报找不到这样的文件,直接拷贝到web-root下的classes下
   ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
   SpringJdbcDaoSupportApp jdbcDao = (SpringJdbcDaoSupportApp) ctx.getBean("jdbcDao");
   String sql = "select t.ftypename from dmis_eqptype t where t.fcategory = '保护'";
   List reList = jdbcDao.queryListBySql(sql);
   if(reList.size()>0){
    for (int i = 0; i < reList.size(); i++) {
     String typename = ((Map)reList.get(i))==null?"":((Map)reList.get(i)).get("ftypename").toString();
     System.out.println(typename);
    }
   }
}
public List queryListBySql(String sql){
   return this.getJdbcTemplate().queryForList(sql);
}

}

注意:这里需求相关的jar包支持,否则会报错.commons-dbcp-1.2.1.jar ;commons-pool-1.2.jar ;commons-collections-3.1.jar; spring-1.2.6.jar; spring-aop.jar;ojdbc14.jar

转载于:https://www.cnblogs.com/zengsong-restService/archive/2012/12/24/2831374.html

你可能感兴趣的文章
Java 完美判断中文字符
查看>>
查看数据类型占了多少位(笔记)
查看>>
我的友情链接
查看>>
度量快速开发平台网格勾选行(标识行),多选行获取方法
查看>>
HTML5 WebSockets+NodeJs 实例教程
查看>>
基于mysql-mmm实现MySQL数据库的高可用
查看>>
使用parted划分大容量磁盘
查看>>
SpringCloud(第 020 篇)Zuul 网关模块添加 listOfServers 属性,达到客户端负载均衡的能力...
查看>>
我的友情链接
查看>>
PIL处理图片之加水印
查看>>
WSFC 资源计量与资源池
查看>>
槽函数中显示对话框一闪而过
查看>>
命令行里带空格的文件名处理
查看>>
如何在宿主机上查看kvm虚拟机的IP
查看>>
数据仓库中的 SQL 性能优化(MySQL篇)
查看>>
函数式 Python 中的 Pipe 与 itertools
查看>>
Latex希腊字母
查看>>
人工智能助力企业客户服务
查看>>
虚拟化技术介绍、Xen的简单实现
查看>>
数据库问题
查看>>