基于MVC实现增删查改

本文详细介绍了如何使用MVC架构在一个名为Service的Web项目中进行基本的增删查改(CRUD)操作。包括实体类的创建、数据库连接、DAO层的SQL语句实现以及Servlet中的页面跳转等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
   }}

转载于:https://www.cnblogs.com/caidongyu/p/5624878.html

MVC模式实现对数据库的增删改查 部分代码: package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import common.DBConnection; import bean.Contact; public class ContactDAO { public List getAllContact() throws Exception{ Connection conn=DBConnection.getConntion(); PreparedStatement ps=conn.prepareStatement("select * from Contact"); ResultSet rs=ps.executeQuery(); List list = new ArrayList(); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); String phone = rs.getString("phone"); String address = rs.getString("address"); Contact c = new Contact(); c.setId(id); c.setName(name); c.setPhone(phone); c.setAddress(address); list.add(c); } rs.close(); ps.close(); conn.close(); return list; } public void addContact(String name,String phone,String address) throws Exception{ String sql = "insert into contact(id,name,phone,address) values(seq_contact.nextval,?,?,?)"; Connection con = DBConnection.getConntion(); PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, name); pstmt.setString(2, phone); pstmt.setString(3, address); pstmt.executeUpdate(); } public void delContact(int id) throws Exception{ String sql = "delete from contact where id=?"; Connection con = DBConnection.getConntion(); PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, id); pstmt.executeUpdate(); } public Contact getContactById(int id) throws Exception{ String sql = "select * from Contact where id=?"; Connection con = DBConnection.getConntion(); PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, id); ResultSet rs = pstmt.executeQuery(); Contact c = null; while(rs.next()){ // int id = rs.getInt("id"); String name=rs.getString("name"); String p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值