1. 程式人生 > >常用的增刪改查的實現之dao層

常用的增刪改查的實現之dao層

public interface IFoodTypeDao
{	
	//增  輸入:一個物件     輸出:無   
	void add

	//刪 輸入:id    輸出:無
	void delete(int id);

	//改  輸入:一個物件     輸出:無                            
	void update(FoodType foodType );

	//findById  輸入:id     輸出:NUll或一個物件
	FoodType findById(int id);

	//查詢所有  輸入:無     輸出:List<T>集合
	List<FoodType> getAll();

	/***由此可以看出,增,刪,改都是不需要返回值的       ***/
}  
		//dao層的實現
public class FoodTypeDao implements IFoodTypeDao
{
	public void add(){
		String sql="insert into foodtype(typeName) values(?)";
		 try {
			JdbcUtil.getQueryRunner().update(sql, foodType.getTypeName());
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}
	//後面的實現大致相同
	public void delete(int id){
		String sql="DELETE FROM foodtype WHERE id=?";
		try {
			JdbcUtil.getQueryRunner().update(sql, id);
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	
	}

	public void update(FoodType foodType){
		String sql="update foodtype set TypeName =? where id=?";
		try {
			JdbcUtil.getQueryRunner().update(sql, foodType.getTypeName(),foodType.getId());
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}

	public FoodType findById(int id){
		String sql="select * from foodtype where id=?";
		try {
			return JdbcUtil.getQueryRunner().query(sql, new BeanHandler<FoodType>(FoodType.class), id);
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	
	}

	public List<FoodType> getAll(){
	
		String sql="select * from foodtype";
		try {
			return JdbcUtil.getQueryRunner().query(sql, new BeanListHandler<FoodType>(FoodType.class));
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}
}

注意:<c:forEach var=""  items=" " ></c:forEach> items 裡通過request域獲取引數值時必須寫 el表示式。