使用的jar包:
ojdbc14.jar spring-2.5.jar commons-dbcp-1.4.jar
目录结构ress(source folder)->conff(package)下有app.xml和sys.properties
sys.properties:
[html] view plaincopy- jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
- jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
- jdbc.username=scott
- jdbc.password=tiger
app.xml:
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
- default-autowire="byName" default-lazy-init="true">
- <!-- 属性文件读入 -->
- <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <list>
- <value>classpath*:conff/sys.properties</value>
- </list>
- </property>
- </bean>
- <!--
- <bean id="mydataSource" class="org.apache.commons.dbcp.BasicDataSource">
- <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
- <property name="url"
- value="jdbc:oracle:thin:@localhost:1521:ORCL">
- </property>
- <property name="username" value="scott"></property>
- <property name="password" value="tiger"></property>
- </bean>
- -->
- <!-- -->
- <bean id="mydataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
- <property name="driverClassName"><value>${jdbc.driverClassName}</value></property>
- <property name="url"><value>${jdbc.url}</value></property>
- <property name="username"><value>${jdbc.username}</value></property>
- <property name="password"><value>${jdbc.password}</value></property>
- </bean>
- <bean id="myJdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
- <property name="dataSource">
- <ref bean="mydataSource"/>
- </property>
- </bean>
- </beans>
Oratest .java
- package oracletest;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import java.util.Map.Entry;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import org.springframework.jdbc.core.JdbcTemplate;
- public class Oratest {
- private JdbcTemplate myJdbcTemplate;
- private static ApplicationContext applicationContext;
- private String[] xmlClassPath={
- "conff/app.xml"
- };
- public Oratest(){
- applicationContext=new ClassPathXmlApplicationContext(xmlClassPath);
- }
- public static Object getBean(String beanName){
- return applicationContext.getBean(beanName);
- }
- //getter setter
- public JdbcTemplate getMyJdbcTemplate() {
- return myJdbcTemplate;
- }
- public void setMyJdbcTemplate(JdbcTemplate myJdbcTemplate) {
- this.myJdbcTemplate = myJdbcTemplate;
- }
- @SuppressWarnings("rawtypes")
- public static void main(String[] args) {
- Oratest dd=new Oratest();
- dd.getBean("myJdbcTemplate");
- String sql="select pass,dd from t1 where pass=?";
- dd.setMyJdbcTemplate((JdbcTemplate)dd.getBean("myJdbcTemplate"));
- List list=dd.getMyJdbcTemplate().queryForList(sql, new Object[]{"vv"});
- System.out.println(list.size());
- //遍历list
- for(int i=0;i<list.size();i++){
- Map mm=(Map)list.get(i);
- //遍历map
- Iterator it= mm.entrySet().iterator();
- while(it.hasNext()){
- Map.Entry entry=(Map.Entry)it.next();
- System.out.println("key:"+entry.getKey()+"--value:"+entry.getValue());
- }
- }
- }
- }
输出:
- Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@19fcc69: display name [org.springframework.context.support.ClassPathXmlApplicationContext@19fcc69]; startup date [Mon Oct 17 16:54:57 CST 2011]; root of context hierarchy
- Loading XML bean definitions from class path resource [conff/app.xml]
- Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@19fcc69]:org.springframework.beans.factory.support.DefaultListableBeanFactory@5e5a50
- Loading properties file from URL [file:/D:/work/des/bin/conff/sys.properties]
- Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5e5a50: defining beans [propertyConfigurer,mydataSource,myJdbcTemplate]; root of factory hierarchy
2
key:PASS--value:vv
key:DD--value:2011-10-10 16:48:39.0
key:PASS--value:vv
key:DD--value:null