分类: Java
2008-03-24 17:54:19
#数据操作的接口及其实现类 package com.biaoflying; import java.util.List; public interface IUserDAO { public void insert(User user); public List allUser(); public int count(); } #UserDAO.java package com.biaoflying; import java.util.List; import javax.sql.DataSource; import org.springframework.jdbc.object.SqlFunction; import org.springframework.jdbc.object.SqlQuery; import org.springframework.jdbc.object.SqlUpdate; public class UserDAO implements IUserDAO { private SqlUpdate userUpdate; private SqlQuery userQuery; private SqlFunction userFunction; public void setDataSource(DataSource dataSource){ userUpdate=new UserUpdate(dataSource); userQuery=new UserQuery(dataSource); userFunction=new UserFunction(dataSource); } public List allUser() { // TODO Auto-generated method stub return userQuery.execute(); } @Override public int count() { // TODO Auto-generated method stub return userFunction.run(); } @Override public void insert(User user) { // TODO Auto-generated method stub userUpdate.update( new Object[]{user.getName(),user.getAge()}); } } |
#使用org.springframework.jdbc.object包中的类实现对象导向方式的数据操作。 #UserFunction.java package com.biaoflying; import javax.sql.DataSource; import org.springframework.jdbc.object.SqlFunction; public class UserFunction extends SqlFunction{ public UserFunction(DataSource dataSource){ super(dataSource,"SELECT COUNT(*) from user"); compile(); } } #UserUpdate.java package com.biaoflying; import java.sql.Types; import javax.sql.DataSource; import org.springframework.jdbc.object.SqlUpdate; public class UserUpdate extends SqlUpdate{ public UserUpdate(DataSource dataSource){ super(dataSource, "INSERT INTO user (name,age) VALUES(?,?)"); int[] types={Types.VARCHAR,Types.INTEGER}; setTypes(types); compile(); } } #UserQuery.java package com.biaoflying; import java.sql.ResultSet; import java.sql.SQLException; import javax.sql.DataSource; import org.springframework.jdbc.object.MappingSqlQuery; public class UserQuery extends MappingSqlQuery{ public UserQuery(DataSource dataSource){ super(dataSource,"SELECT * FROM user"); compile(); } protected Object mapRow(ResultSet rs, int rowNum)throws SQLException{ User user=new User(); user.setId(new Integer(rs.getInt("id"))); user.setName(rs.getString("name")); user.setAge(new Integer(rs.getInt("age"))); return user; } } |
#操作对象User.java package com.biaoflying; public class User { private Integer id,age; private String name; public Integer getId(){ return id; } public void setId(Integer id){ this.id=id; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public Integer getAge(){ return age; } public void setAge(Integer age){ this.age=age; } } |
#主程序SpringDAODemo.java package com.biaoflying; import java.util.List; import org.springframework.context.ApplicationContext; import org.springframework.context. support.FileSystemXmlApplicationContext; public class SpringDAODemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ApplicationContext context= new FileSystemXmlApplicationContext( "beans-config.xml"); User user=new User(); user.setName("king1985"); user.setAge(new Integer(24)); IUserDAO userDAO=(IUserDAO)context.getBean("userDAO"); userDAO.insert(user); System.out.println("笔数: "+userDAO.count()); List list=userDAO.allUser(); for(int i=0;i System.out.println("\n\tId:\t"+next.getId()); System.out.println("\tName:\t"+next.getName()); System.out.println("\tAge:\t"+next.getAge()); } } } |
#beans-config.xml文件 ""> |
执行主程序的输出: 笔数: 3 Id: 1 Name: abio Age: 22 Id: 2 Name: biaoflying Age: 22 Id: 3 Name: king1985 Age: 24 |