Spring的DAO模块提供了对JDBC、Hibernate、JDO等DAO层支持。
DAO模块依赖 commons-pool.jar、commons-collections.jar
package com.dao; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import org.springframework.jdbc.core.support.JdbcDaoSupport; public class IPeopleDaoImpl extends JdbcDaoSupport implements IPeopleDao{ public void initDatabase(){//创建表 String sql="create table People(" + "id int primary key auto_increment," + "name varchar(100) not null," + "age int,"+ "sex varchar(10)," + "birthday DateTime)"; getJdbcTemplate().execute(sql); } public void addPeople(People people) { String sql="insert into people(name,sex,age,birthday)" + "values(?,?,?,?)"; getJdbcTemplate().update( sql,new Object[]{ people.getName(),people.getSex(),people.getAge(),people.getBirthday() }); } public int getPeopleCount() { String sql="select count(*) from people"; int count=getJdbcTemplate().queryForInt(sql); return count; } public String getPeopleName(int id) { String sql="select name from people where >id; String name=getJdbcTemplate().queryForObject(sql, String.class); return name; } public List<People> listPeoples() { String sql="select * from people"; List<Map<String,Object>> list=getJdbcTemplate().queryForList(sql); List<People> peopleList=new ArrayList<People>(); for(Map<String,Object> row: list){ People people=new People(); people.setId((Integer)row.get("id")); people.setName((String)row.get("name")); people.setSex((String)row.get("sex")); people.setBirthday((Date)row.get("birthday")); people.setAge((Integer)row.get("age")); peopleList.add(people); } return peopleList; } } <?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-3.0.xsd"> <!--<bean > <property name="advice"> <bean class="com.aop.MethodBeforeInterceptor"></bean> </property> <property name="mappedName" value="withAop"></property> </bean> --><!--<bean > <property name="advice"> <bean class="com.aop.MethodAfterInterceptor"> </bean> </property> <property name="mappedName" value="withAop"></property> </bean> --> <!--<bean > <property name="advice"> <bean class="com.aop.MethodAfterInterceptor"> </bean> </property> <property name="patterns"> <list> <value>.*withAop</value> <value>.*like.*</value> </list> </property> </bean> <bean > <property name="advice"> <bean class="com.aop.ThrowsInterceptor"></bean> </property> <property name="mappedName" value="withAop"></property> </bean> --><!-- Service对象,安装到ProxyFactoryBean对象中 --> <!--<bean > <property name="interceptorNames"> <list> <value>aopMethodBeforeInterceptor</value> <value>aopMethodAfterInterceptor</value> <value>aopThrowsInterceptor</value> </list> </property> <property name="target"> <bean class="com.aop.AopServiceImpl"> <property name="name" value="sss"></property> </bean> </property> </bean> --> <bean > <property name="location" value="jdbc.properties"/> </bean> <bean > <property name="properties" ref="configproperties"/> </bean> <bean > <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="driverClassName" value="${jdbc.driver}" /> </bean> <!--<bean > <property name="url" value="jdbc:mysql://localhost:3306/test_1?characterEncoding=UTF-8" /> <property name="username" value="guodaxia" /> <property name="password" value="guodaxia" /> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> </bean> --><bean > <property name="dataSource" ref="dataSource" /> </bean> </beans> package com.dao; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import org.springframework.jdbc.core.support.JdbcDaoSupport; public class IPeopleDaoImpl extends JdbcDaoSupport implements IPeopleDao{ public void initDatabase(){//创建表 String sql="create table People(" + "id int primary key auto_increment," + "name varchar(100) not null," + "age int,"+ "sex varchar(10)," + "birthday DateTime)"; getJdbcTemplate().execute(sql); } public void addPeople(People people) { String sql="insert into people(name,sex,age,birthday)" + "values(?,?,?,?)"; getJdbcTemplate().update( sql,new Object[]{ people.getName(),people.getSex(),people.getAge(),people.getBirthday() }); } public int getPeopleCount() { String sql="select count(*) from people"; int count=getJdbcTemplate().queryForInt(sql); return count; } public String getPeopleName(int id) { String sql="select name from people where >id; String name=getJdbcTemplate().queryForObject(sql, String.class); return name; } public List<People> listPeoples() { String sql="select * from people"; List<Map<String,Object>> list=getJdbcTemplate().queryForList(sql); List<People> peopleList=new ArrayList<People>(); for(Map<String,Object> row: list){ People people=new People(); people.setId((Integer)row.get("id")); people.setName((String)row.get("name")); people.setSex((String)row.get("sex")); people.setBirthday((Date)row.get("birthday")); people.setAge((Integer)row.get("age")); peopleList.add(people); } return peopleList; } } package com.dao; import java.util.List; public interface IPeopleDao { public String getPeopleName(int id); public void addPeople(People people); public int getPeopleCount(); public List<People> listPeoples(); } package com.Test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.dao.IPeopleDao; import com.dao.People; public class TestDao { /*public static void main(String[] args){ String time="2011-12-07"; System.out.println(TransactToDate(time).toLocaleString()); }*/ public static void main(String[] args){ Test1(); } public static void Test1(){ ApplicationContext con=new ClassPathXmlApplicationContext("applicationContext.xml"); IPeopleDao personDao=(IPeopleDao) con.getBean("peopleDao"); /*People p=new People(); p.setName("Helloween"); p.setSex("男"); p.setAge(12); p.setBirthday(TransactToDate("2005-12-3")); personDao.addPeople(p);*/ System.out.println(personDao.getPeopleCount()); List<People> peo=personDao.listPeoples(); System.out.println(peo.get(0).getName()); } public static Date TransactToDate(String d) { String pattern = "yyyy-MM-dd"; SimpleDateFormat df = new SimpleDateFormat(pattern); Date date=null; try { date = df.parse(d); } catch (ParseException e) { e.printStackTrace(); } return date; } }