读书人

Spring应用JdbcTemplate操作数据库-使

发布时间: 2012-07-20 10:38:30 作者: rapoo

Spring使用JdbcTemplate操作数据库---使用RowMapperResultSetExtractor读数据篇

首先建立数据表:

CREATE TABLE `login` (
? `username` varchar(10) default NULL,
? `passwd` varchar(10) default NULL,
? `address` varchar(10) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

?

配置文件:

?

Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇<?xml?version="1.0"?encoding="UTF-8"?>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇<!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd"?>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇<beans>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?<bean?id="dataSource"?class="org.apache.commons.dbcp.BasicDataSource">
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???<property?name="driverClassName">
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?????<value>com.mysql.jdbc.Driver</value>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???</property>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???<property?name="url">
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?????<value>jdbc:mysql://localhost:3306/javaee</value>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???</property>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???<property?name="username">
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?????<value>root</value>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???</property>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???<property?name="password">
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?????<value>1234</value>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???</property>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?</bean>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?<bean?id="jdbcTemplate"?class="org.springframework.jdbc.core.JdbcTemplate">
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???<property?name="dataSource">
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?????<ref?local="dataSource"/>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇???</property>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?</bean>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇<bean?id="personDAO"?class="SpringJDBCSupport.ReadData.PersonDAO">
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??<property?name="jdbcTemplate">
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????<ref?local="jdbcTemplate"/>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??</property>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇</bean>?
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇</beans>
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇

?JavaBean

?

Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇package?SpringJDBCSupport.ReadData;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?com.mysql.jdbc.Driver;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?class?Person?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??private?String?name;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??private?String?password;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??private?String?address;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??public?Person(){
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??????
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??public?Person(String?name,String?password,String?address){
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??????this.name=name;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??????this.password=password;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??????this.address=address;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇??}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?String?getAddress()?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????return?address;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?void?setAddress(String?address)?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????this.address?=?address;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?String?getName()?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????return?name;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?void?setName(String?name)?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????this.name?=?name;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?String?getPassword()?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????return?password;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?void?setPassword(String?password)?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????this.password?=?password;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?String?toString(){
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????return?this.getName()+"-"+this.getPassword()+"-"+this.getAddress();
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇

?

编写自定义RowMapper

?

Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇package?SpringJDBCSupport.ReadData;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?java.sql.ResultSet;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?java.sql.SQLException;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?org.springframework.jdbc.core.RowMapper;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?class?PersonRowMapper?implements?RowMapper?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????public?Object?mapRow(ResultSet?rs,?int?index)?throws?SQLException?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????Person?person=new?Person();
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????person.setName(rs.getString("username"));
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????person.setPassword(rs.getString("passwd"));
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????person.setAddress(rs.getString("address"));
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????return?person;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇

?

测试代码:

?

Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇package?SpringJDBCSupport.ReadData;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?java.io.File;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?java.util.ArrayList;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?java.util.Iterator;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?java.util.List;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?org.springframework.beans.factory.BeanFactory;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?org.springframework.beans.factory.xml.XmlBeanFactory;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇import?org.springframework.core.io.FileSystemResource;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇public?class?TestJDBCTemplate?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????public?static?String?filePath="";
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????public?static?BeanFactory?factory=null;
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????public?static?void?main(String[]?args)?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????filePath=System.getProperty("user.dir")+File.separator+"SpringJDBCSupport"+File.separator+"ReadData"+File.separator+"hello.xml";
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????factory=new?XmlBeanFactory(new?FileSystemResource(filePath));
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????PersonDAO?personDAO=(PersonDAO)factory.getBean("personDAO");
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????/*
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?????????*?准备数据
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇?????????*/
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????Person?p1=new?Person("test1","test1","test1");
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????Person?p2=new?Person("test2","test2","test2");
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????Person?p3=new?Person("test3","test3","test3");
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????Person?p4=new?Person("test4","test4","test4");
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????Person?p5=new?Person("test5","test5","test5");
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????List?persons=new?ArrayList();
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????persons.add(p3);
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????persons.add(p4);
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????persons.add(p5);
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????//使用jdbcTemplate.update方式
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????personDAO.insertPersonUseUpdate(p1);
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????//使用jdbcTemplate.execute方式
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????personDAO.insertPersonUseExecute(p2);
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????//????//使用jdbcTemplate批处理方式
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????personDAO.updatePersonUseBatchUpdate(persons);
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????//使用RowCallbackHandler执行一次查询,并打印person信息
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????System.out.println(personDAO.getPersonByRowCallbackHandler("test1"));
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????List?a=personDAO.getPersonsByMapperResultReader();
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????for?(Iterator?iter?=?a.iterator();?iter.hasNext();)?{
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????????System.out.println((Person)iter.next());
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????????
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????????}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇????
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇}
Spring应用JdbcTemplate操作数据库-使用RowMapperResultSetExtractor读数据篇

?

运行程序:输出为以下结果,红色部分为查询结果集

test1-test1-test1
test1-test1-test1
test2-test2-test2
test3-test3-test3
test4-test4-test4
test5-test5-test5

?

我们完全可以用这个方法代替RowCallbackHandler,用一个自定义的RowMapper结局单个查询和结果集查询两种方式,返回单个对象是,只要修改

List result=(ArrayList)this.getJdbcTemplate().query(sql,params,new RowMapperResultSetExtractor(new PersonRowMapper()));
return result.get(0);
}

即可


读书人网 >其他数据库

热点推荐