使用的jar包:
ojdbc14.jar spring-2.5.jar commons-dbcp-1.4.jar
目录结构ress(source folder)->conff(package)下有app.xml和sys.properties
sys.properties:
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