下面我通过一个小例子介绍一下Spring中如何使用JdbcTemplate(使用MySql数据库):
首先定义数据访问接口:
package com.spring;
public interface IUserDao {
public void doThings();
}
接口实现类:
package com.spring
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
public class UserDao implements IUserDao {
DataSource dataSource;
public DataSource getDataSource() {
return dataSource;
}
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
public void doThings() {
// TODO Auto-generated method stub
JdbcTemplate jdt=new JdbcTemplate(getDataSource());
int n=jdt.queryForInt("select 8*8");
System.out.println("计算结果:"+n);
}
}
实现类也可以直接继承JdbcDaoSupport类使用getJdbcTemplate()获取JdbcTemplate的对象;
Spring配置文件applicationContext.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="dSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://127.0.0.1:3306/test</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value></value>
</property>
<property name="defaultAutoCommit">
<value>true</value>
</property>
</bean>
<bean id="userDao" class="com.spring.UserDao">
<property name="dataSource">
<ref bean="dSource"/>
</property>
</bean>
</beans>