jdbcDaoSupport简介
JdbcDaoSupport是JDBC数据访问对象的超类。它与特定的数据源相关联。spring Inversion of Control (IOC)容器或BeanFactory负责获得相应数据源的配置详细信息,并将其与JdbcDaoSupport相关联。这个类最重要的功能就是使子类可以使用JdbcTemplate对象。
JdbcTemplate是Spring JDBC框架中最重要的类。引用文献中的话:“它简化了JDBC的使用,有助于避免常见的错误。它执行核心JDBC工作流,保留应用代码以提供SQL和提取结果。”这个类通过执行下面的样板任务来帮助分离JDBC DAO代码的静态部分:
◆从数据源检索连接。
◆准备合适的声明对象。
◆执行SQL CRUD操作。
◆遍历结果集,然后将结果填入标准的collection对象。
◆处理SQLException异常并将其转换成更加特定于错误的异常层次结构。
1、写一个jdbc.properties数据连接池
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/test
jdbc.username=root
jdbc.password=123456
2、写一个PersonDao类继承JdbcDaoSupport
import org.springframework.jdbc.core.support.JdbcDaoSupport;
public class PersonDao extends JdbcDaoSupport {
public void savePerson(String sql)
{
this.getJdbcTemplate().execute(sql);
}
}
3、写applicationContext.xml配置文件
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>
<bean id="datasource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"></property>
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="persondao1" class="com.zhiyou.dao.PersonDao">
<property name="dataSource">
<ref bean="datasource"/>
</property>
</bean>
4、写一个PersonDaoTest的测试类
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class PersonDaoTest {
@Test
public void test1()
{
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
PersonDao personDao=(PersonDao)context.getBean("persondao1");
personDao.savePerson("insert into persons (pid,pname,pdesc) values ('007','wmy','123456') ");
//personDao.savePerson("insert into person(name,description) values('aa','aa')");
}
}
最后就可以插入数据了