From 3c7e8368398e4888e357f15dd35569727bc7aa91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=96=E5=BF=83=E5=A6=8D?= <2392642810@qq.com> Date: Thu, 25 May 2023 22:52:32 +0800 Subject: [PATCH] =?UTF-8?q?5.25=20=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...71\346\237\245\345\212\237\350\203\275.md" | 306 ++++++++++++++++++ 1 file changed, 306 insertions(+) create mode 100644 "03 \350\265\226\345\277\203\345\246\215/20230525 \344\275\277\347\224\250\347\275\221\351\241\265\345\256\236\347\216\260\345\242\236\345\210\240\346\224\271\346\237\245\345\212\237\350\203\275.md" diff --git "a/03 \350\265\226\345\277\203\345\246\215/20230525 \344\275\277\347\224\250\347\275\221\351\241\265\345\256\236\347\216\260\345\242\236\345\210\240\346\224\271\346\237\245\345\212\237\350\203\275.md" "b/03 \350\265\226\345\277\203\345\246\215/20230525 \344\275\277\347\224\250\347\275\221\351\241\265\345\256\236\347\216\260\345\242\236\345\210\240\346\224\271\346\237\245\345\212\237\350\203\275.md" new file mode 100644 index 0000000..b93998d --- /dev/null +++ "b/03 \350\265\226\345\277\203\345\246\215/20230525 \344\275\277\347\224\250\347\275\221\351\241\265\345\256\236\347\216\260\345\242\236\345\210\240\346\224\271\346\237\245\345\212\237\350\203\275.md" @@ -0,0 +1,306 @@ +## 使用网页实现增删改查功能 + +#### DBUtil + +```java +package servlet; + +import java.sql.*; + +public class DBUtil { + private static final String url = "jdbc:mysql:///student_db?useSSL=false&useUnicode=true&characterEncoding=utf8"; + private static final String user = "root"; + private static final String password = "root"; + + static { + try { + Class.forName("com.mysql.jdbc.Driver"); + } catch (ClassNotFoundException e) { + System.out.println("驱动注册异常"); + e.printStackTrace(); + } + } + + public static Connection getConn() { + Connection conn = null; + try { + conn = DriverManager.getConnection(url, user, password); + } catch (SQLException e) { + System.out.println("获取连接对象失败"); + e.printStackTrace(); + } + return conn; + } + + public static ResultSet query(String sql, String... keys) { + ResultSet rs = null; + try { + Connection conn = getConn(); + PreparedStatement pst = conn.prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pst.setString((i + 1), keys[i]); + } + rs = pst.executeQuery(); + } catch (SQLException e) { + System.out.println("执行查询异常"); + e.printStackTrace(); + } + return rs; + } + public static int update(String sql,String...keys) throws SQLException { + Connection conn = getConn(); + PreparedStatement pre = conn.prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pre.setString((i+1),keys[i]); + } + int i = pre.executeUpdate(); + return i; + } + public static void close(Connection conn,PreparedStatement pre,ResultSet res) throws SQLException { + if(res!=null){ + res.close(); + }if(pre!=null){ + pre.close(); + }if(conn!=null){ + conn.close(); + } + } +} +``` + +#### 增加 + +```java +package servlet; + +import javax.servlet.*; +import javax.servlet.http.*; +import javax.servlet.annotation.*; +import java.io.IOException; +import java.sql.SQLException; + +@WebServlet(name = "InsertServlet", value = "/InsertServlet") +public class InsertServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + response.setContentType("text/html;charset=utf-8"); + String id=request.getParameter("id"); + String name=request.getParameter("name"); + String sex=request.getParameter("sex"); + String sql="insert into student values(?,?,?)"; + try { + int i = DBUtil.update(sql, id,name,sex); + if(i>0){ + response.getWriter().write("添加成功"); + }else { + response.getWriter().write("添加失败"); + } + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doGet(request,response); + } +} +``` + +```html + + + + + 添加学生 + + +

添加学生

+
+ 请问你要添加的学号:
+ 请问你要添加的姓名:
+ 请问你要添加的性别:
+ +
+ + +``` + +#### 删除 + +```java +package servlet; + +import javax.servlet.*; +import javax.servlet.http.*; +import javax.servlet.annotation.*; +import java.io.IOException; +import java.sql.SQLException; + +@WebServlet(name = "DeleteServlet", value = "/DeleteServlet") +public class DeleteServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + response.setContentType("text/html;charset=utf-8"); + String id=request.getParameter("id"); + String sql="delete from student where id=?"; + try { + int i = DBUtil.update(sql, id); + if(i>0){ + response.getWriter().write("删除成功"); + }else { + response.getWriter().write("删除失败"); + } + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doGet(request,response); + } +} +``` + +```html + + + + + 删除学生 + + +

删除学生

+
+ 请问你要删除的学号:
+ +
+ + +``` + +#### 修改 + +```java +package servlet; + +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 java.io.IOException; +import java.sql.SQLException; + +@WebServlet(name = "UpdateServlet",value = "/UpdateServlet") +public class UpdateServlet extends HttpServlet { + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + response.setContentType("text/html;charset=utf-8"); + String id=request.getParameter("id"); + String name=request.getParameter("name"); + String sex=request.getParameter("sex"); + String sql="update student set name=?,sex=? where id=?"; + try { + int i = DBUtil.update(sql, name,sex,id); + if(i>0){ + response.getWriter().write("修改成功"); + }else { + response.getWriter().write("修改失败"); + } + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doPost(request,response); + } +} +``` + +```html + + + + + 修改学生 + + +

修改学生

+
+ 请问你要修改的学号:
+ 请问你要修改的姓名:
+ 请问你要修改的性别:
+ +
+ + +``` + +#### 查询 + +```java +package servlet; + +import javax.servlet.*; +import javax.servlet.http.*; +import javax.servlet.annotation.*; +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.ResultSet; +import java.sql.SQLException; + +@WebServlet(name = "SelectServlet", value = "/SelectServlet") +public class SelectServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + response.setContentType("text/html;charset=utf-8"); + String username=request.getParameter("name"); + String sql="select * from student where name like ?"; + ResultSet rs = DBUtil.query(sql, "%"+username+"%"); + PrintWriter out =response.getWriter(); + try { + if(!rs.isBeforeFirst()){ + out.write("没有符合条件的学生"); + }else { + while (rs.next()) { + int id = rs.getInt("id"); + String name = rs.getString("name"); + String sex = rs.getString("sex"); + response.getWriter().write("编号:"+id +",姓名:"+ name +",性别:"+ sex+"
"); + } + } + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doGet(request,response); + } +} +``` + +```html + + + + + 查询 + + +

查询学生

+
+ 请问你要查询的名字:
+ +
+ + +``` + -- Gitee