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