基于MVC实现增删查改

时间:2022-12-09 16:15:13

1.首先要理解MVC的架构。新建一个web项目取名叫Service。

2.建立eneity(实体包),tools(连接数据库),DAO(借助result的代码实现增删查改)servlet(实现跳转)。

3.在建立实体时一定要和数据库中的字段名一致,否则在运行时会出错。连接数据库时一定要注意数据库名和密码。

4.在DAO层中实现增删查改的语句,并测试,代码如下:

public class userDAO {
 
 public List getAllUser(){//查询

  String SQL="select * from user";
  ResultSet rs=DBHelper.getResultSet(SQL);
  return tools.tools.resultSetToList(rs, User.class);
//  List users=new ArrayList();
//  try
//  {
//   while(rs.next()){
//    User u=new User();
//    u.setUserID(rs.getString("userID"));
//    u.setUserName(rs.getString("userName"));
//    u.setPassword(rs.getString("password"));
//    users.add(u);
//   }
//   return users;
//  }
//  catch(Exception ex){
//   ex.printStackTrace();
//   return null;
//  }
 }
 public static boolean add(User u)//添加数据
 {
  String sql="INSERT INTO user(userID,userName,password) "+"VALUES(?,?,?)";
  Object[] params=new Object[]{u.getUserID(),u.getUserName(),u.getPassword()};  
  int n=DBHelper.ExecSql(sql, params);
  if(n>0)
   return true;
  else
   return false;
 }
 public static boolean delete(User u)//删除数据
 {
  String sql="DELETE FROM user WHERE userID=?";
  Object[] params=new Object[]{u.getUserID()};
  int n=DBHelper.ExecSql(sql, params);
  if(n>0)
   return true;
  else
   return false;
 }
 public static boolean update(User u)//修改数据
 {
  String sql="update user set userName=?,password=? where userID=?";
  Object[] params=new Object[]{u.getUserName(), u.getPassword(), u.getUserID()};
  int n=DBHelper.ExecSql(sql, params);
  if(n>0)
   return true;
  else
   return false;
 }
}

5.servlet中的部分代码如下:同时在jsp中一定要注意路劲的问题。

if(action.equals("show")){
    userDAO dao=new userDAO();
    List<User> users=dao.getAllUser();
    request.setAttribute("users", users);
    RequestDispatcher rd=request.getRequestDispatcher("show.jsp");
    rd.forward(request, response);  
   }else if(action.equals("insert")){
    response.sendRedirect("../user/insert.jsp");
   }else if(action.equals("update")){
    request.getRequestDispatcher("update.jsp").forward(request, response);
   }else if(action.equals("delete")){
    request.getRequestDispatcher("delete.jsp").forward(request, response);
   }}