javaweb之修改功能


數據庫的修改功能,主要是通過查詢,保留之前的數據,得到當前想要修改的頁面,並進行修改。


一.dao層

在dao層需要添加兩個fangfa,一個查詢,一個修改(這是整個dao層,包括之前的增刪、瀏覽)

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

//import com.mysql.cj.protocol.ResultBuilder;

import Bean.Course;
import util.DBUtil;

public class daoCourse {

    public boolean add(Course n)
    {
        boolean f=false;
        int a=0;
        String sql="insert submitcourse(classname,teachername,place) values(?,?,?)";
        try {
             Connection conn=DBUtil.getConnection();
             PreparedStatement pstmt=conn.prepareStatement(sql);
             pstmt.setString(1,n.getClassname());
             pstmt.setString(2,n.getTeachername());
             pstmt.setString(3,n.getPlace());
              a=pstmt.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(a>0) f=true;
        return f;
    }
    public boolean delete(Course n) {
    boolean f=false;
    int a=0;
    String sql="delete from submitcourse where teachername=?";
    try {
         Connection conn=DBUtil.getConnection();
         PreparedStatement pstmt=conn.prepareStatement(sql);        
         pstmt.setString(1,n.getTeachername());
          a=pstmt.executeUpdate();
          System.out.println("fuck you");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    if(a>0) f=true;
    return f;
}public List<Course> list(){
        String sql="select * from submitcourse";
        List<Course> list=new ArrayList<>();
         ResultSet rs=null;
        Course ns=new Course();
        try {
             Connection conn=DBUtil.getConnection();
             PreparedStatement pstmt=conn.prepareStatement(sql);        
            // pstmt.setString(1,n.getTeachername());
             rs=pstmt.executeQuery();
             while(rs.next())
             {
                 ns=new Course(rs.getString(1),rs.getString(2),rs.getString(3));
                 list.add(ns);
             }
             //System.out.println(rs);
             System.out.println(rs);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return list;
    }
    public boolean update(Course n,String old_teachername){//修改信息
        boolean f=false;
        int a=0;
        String sql = "update submitcourse set classname='"+n.getClassname()+"',teachername='"+n.getTeachername()+"',place='"+n.getPlace()+"' where teachername='"+old_teachername+"'";
        try {
             Connection conn=DBUtil.getConnection();
             PreparedStatement pstmt=conn.prepareStatement(sql);             
              a=pstmt.executeUpdate();
              System.out.println(a);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(a>0) f=true;
        
        return f;
        
    }
    public Course queryByTeachername(String teachername) {//查詢信息
        String sql="select * from submitcourse where teachername=?";
        Course n=new Course();
        try {
             ResultSet rs=null;
             Connection conn=DBUtil.getConnection();
             PreparedStatement pstmt=conn.prepareStatement(sql);        
             pstmt.setString(1,teachername);
             rs=pstmt.executeQuery();
                while(rs.next()) { 
                n=new Course(rs.getString(1), rs.getString(2),rs.getString(3));
                }
              System.out.println("fuck you");
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }    
        return n ;
        
    }
}

二。servlert層


 

servlet里面主要也是兩個方法,用來傳參交互。(這是整個servlet層,包括增刪、瀏覽)

package servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import Bean.Course;
import dao.daoCourse;

/**
 * Servlet implementation class course_servlet
 */
@WebServlet("/course_servlet")
public class course_servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       daoCourse gooddao=new daoCourse();
    /**
     * @see HttpServlet#HttpServlet()
     */
    public course_servlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doPost(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        String method=request.getParameter("method");
        if("add".equals(method))
        {
        String teachername=request.getParameter("teachername");
        String classname=request.getParameter("classname");
        String place=request.getParameter("place");
        Course n=new Course(classname,teachername,place);
        gooddao.add(n);
        request.setAttribute("message", "添加成功");
        request.getRequestDispatcher("NewFile2.jsp").forward(request, response);
        }
        
        else if("delete".equals(method)) {
            String teachername=request.getParameter("teachername");
            Course n=new Course();
            n.setTeachername(teachername);
            gooddao.delete(n);
            request.setAttribute("message", "刪除成功");
            request.getRequestDispatcher("course_servlet?method=looklist").forward(request, response);
        }
        else if("looklist".equals(method)) {            
            List<Course> nt= gooddao.list();
            request.setAttribute("nt", nt);
            System.out.println("王建民");
            request.getRequestDispatcher("NewFile3.jsp").forward(request, response);
        }
        else if("queryByTeachername".equals(method))
        {
        String teachername=request.getParameter("teachername");
        Course n=new Course();
        System.out.println("8888");
        n.setTeachername(teachername);
        n= gooddao.queryByTeachername(teachername); 
        request.setAttribute("n", n);
        request.getRequestDispatcher("update.jsp").forward(request, response);
        }
        else if("update".equals(method))
        {
        String teachername=request.getParameter("teachername");
        String classname=request.getParameter("classname");
        String place=request.getParameter("place");
        String old_teachername=request.getParameter("old_teachername");
        Course n=new Course(classname,teachername,place);
        gooddao.update(n,old_teachername);
        request.setAttribute("message", "添加成功");
        request.getRequestDispatcher("course_servlet?method=looklist").forward(request, response);
        }
        
    }

}

三.寫jap


 

在之前文章的原有的基礎上,再加入一個update.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="Bean.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Course n=(Course)request.getAttribute("n");
%>
<form action="course_servlet?method=update" method="post">
 <input type="hidden" name="old_teachername" value="<%=n.getTeachername()%>"/>
課程名稱:<input type="text" name="classname" id="classname" value="<%=n.getClassname()%>"><br>
教師姓名:<input type="text" name="teachername" id="teachername" value="<%=n.getTeachername()%>"><br>
教學地點:<input type="text" name="place" id="place" value="<%=n.getPlace()%>">
<input type="submit" value="修改">
</form> 
</body>
</html>

四.運行結果


 

點擊修改進入修改頁面

 

 

 

 點擊修改

 

 修改成功


 

下一篇文章寫模糊查詢!!!!!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM