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表達式。