jsp连接数据库增删改查
Posted birdmmxx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp连接数据库增删改查相关的知识,希望对你有一定的参考价值。
一,创建表
二.将jar包复制导入到lib文件夹下
三.创建工具包连接数据库
package com.bill.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBUtil { public static String db_url = "jdbc:mysql://localhost:3306/test?useSSL=false"; public static String db_user = "root";//账号 public static String db_pass = "mm123456";//密码 public static Connection getConn () { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(db_url, db_user, db_pass); } catch (Exception e) { e.printStackTrace(); } return conn; } public static void close (Statement state, Connection conn) { if (state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void close (ResultSet rs, Statement state, Connection conn) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
四.初始化成员函数
package com.bill.been; public class Bill { private int id; private String type; private String year; private String month; private String day; private String income; private String pay; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getYear() { return year; } public void setYear(String year) { this.year = year; } public String getMonth() { return month; } public void setMonth(String month) { this.month = month; } public String getDay() { return day; } public void setDay(String day) { this.day = day; } public String getIncome() { return income; } public void setIncome(String income) { this.income = income; } public String getPay() { return pay; } public void setPay(String pay) { this.pay = pay; } public Bill(int id,String type,String year,String month,String day,String income,String pay) { this.id=id; this.type=type; this.year=year; this.month=month; this.day=day; this.income=income; this.pay=pay; } public Bill(String type,String year,String month,String day,String income,String pay) { this.type=type; this.year=year; this.month=month; this.day=day; this.income=income; this.pay=pay; } }
五.查找数据库 dao层
package com.bill.dao; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.bill.util.DBUtil; import com.bill.been.Bill; @SuppressWarnings("unused") public class BillDao { //----------------------------------------------------------------------------------------------------------------------------- public boolean add(Bill bill) { String sql = "insert into bill(type,year,month,day,income,pay) values(\'" + bill.getType() + "\',\'" + bill.getYear() + "\',\'"+bill.getMonth()+"\',\'"+bill.getDay()+"\',\'"+bill.getIncome()+"\',\'"+bill.getPay()+"\')"; Connection conn = DBUtil.getConn();//调用方法连接数据库 Statement state = null; boolean f = false; int a = 0 ; try { //监视大括号内的代码 state = conn.createStatement(); a = state.executeUpdate(sql); } catch (Exception e) { //捕获错误 e.printStackTrace(); } finally { //关闭z 连接 DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } //---------------------------------------------------------------------------------------------------------------------------- public Bill getBillById(int id) { String sql = "select * from bill where id =\'" + id + "\'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; Bill bill = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { String type = rs.getString("type"); String year = rs.getString("year"); String month = rs.getString("month"); String day = rs.getString("day"); String income = rs.getString("income"); String pay = rs.getString("pay"); bill = new Bill(id, type, year, month,day,income,pay); } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return bill; } public List<Bill> dellist() { String sql = "select * from bill"; List<Bill> dellist = new ArrayList<>(); Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); Bill bean = null; while (rs.next()) { int id = rs.getInt("id"); String type2 = rs.getString("type"); String year2 = rs.getString("year"); String month2 = rs.getString("month"); String day2 = rs.getString("day"); String income2=rs.getString("income"); String pay2=rs.getString("pay"); bean = new Bill(id, type2, year2, month2,day2,income2,pay2); dellist.add(bean); } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return dellist; } public boolean delete (int id) { boolean f = false; String sql = "delete from bill where id=\'" + id + "\'"; Connection conn = DBUtil.getConn(); Statement state = null; int a = 0; try { state = conn.createStatement(); a = state.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } //-------------------------------------------------------------------------------------------------------------- public List<Bill> modifylist() { String sql = "select * from bill"; List<Bill> modifylist = new ArrayList<>(); Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); Bill bean = null; while (rs.next()) { int id = rs.getInt("id"); String type2 = rs.getString("type"); String year2 = rs.getString("year"); String month2 = rs.getString("month"); String day2 = rs.getString("day"); String income2=rs.getString("income"); String pay2=rs.getString("pay"); bean = new Bill(id, type2, year2, month2,day2,income2,pay2); modifylist.add(bean); } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return modifylist; } public boolean modify(Bill bill) { String sql = "update bill set type=\'" + bill.getType() + "\', year=\'" + bill.getYear() + "\',month=\'" + bill.getMonth() + "\',day=\'"+bill.getDay()+"\',income=\'"+bill.getIncome()+"\',pay=\'"+bill.getPay()+"\'where id=\'" + bill.getId() + "\'"; Connection conn = DBUtil.getConn(); Statement state = null; boolean f = false; int a = 0; try { state = conn.createStatement(); a = state.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } //------------------------------------------------------------------------------------------------------------------------------ public List<Bill> search(String type,String year,String month,String day,String income,String pay) { String sql = "select * from bill where "; if (type != "") { sql += "type like \'%" + type + "%\'"; } if (year != "") { sql += "year like \'%" + year + "%\'"; } if (month != "") { sql += "month like \'%" + month + "%\'"; } if (day != "") { sql += "day like \'%" + day + "%\'"; }if (income != "") { sql += "income like \'%" + income + "%\'"; }if (pay != "") { sql += "pay like \'%" + pay + "%\'"; } List<Bill> list = new ArrayList<>(); Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); Bill bean = null; while (rs.next()) { int id = rs.getInt("id"); String type2 = rs.getString("type"); String year2 = rs.getString("year"); String month2 = rs.getString("month"); String day2 = rs.getString("day"); String income2 = rs.getString("income"); String pay2 = rs.getString("pay"); bean = new Bill(id, type2, year2, month2,day2,income2,pay2); list.add(bean); } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return list; } }
.六.页面的交互
package com.bill.servlet; import java.io.IOException; 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 com.bill.dao.BillDao; import com.bill.been.Bill; @WebServlet("/BillServlet") public class BillServlet extends HttpServlet{ private static final long serialVersionUID = 1L; public BillServlet() { super(); } BillDao dao=new BillDao(); protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String method = req.getParameter("method"); if ("add".equals(method)) { add(req, resp); }else if ("getbillbyid".equals(method)) { getBillById(req, resp); }else if ("dellist".equals(method)) { dellist(req,resp); }else if ("delete".equals(method)) { delete(req,resp); }else if ("getbillbyid2".equals(method)) { getBillById2(req, resp); }else if ("modifylist".equals(method)) { modifylist(req,resp); }else if ("modify".equals(method)) { modify(req,resp); }else if ("search".equals(method)) { search(req,resp); } } //------------------------------------------------------------------------------------------------------ private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { // TODO Auto-generated method stub String type = req.getParameter("type"); String year = req.getParameter("year"); String month = req.getParameter("month"); String day = req.getParameter("day"); String income = req.getParameter("income"); String pay = req.getParameter("pay"); Bill bill=new Bill(type,year,month,day,income,pay); if(dao.add(bill)) { req.setAttribute("message", "保存成功!"); req.getRequestDispatcher("add.jsp").forward(req, resp); }else { req.setAttribute("message", "保存失败!"); req.getRequestDispatcher("add.jsp").forward(req, resp); } } //------------------------------------------------------------------------------------------------------ private void getBillById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); int id = Integer.parseInt(req.getParameter("id")); Bill bill = dao.getBillById(id); req.setAttribute("bill", bill); req.getRequestDispatcher("delete.jsp").forward(req,resp); } private void dellist(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("utf-8"); List<Bill> bills = dao.dellist(); req.setAttribute("bills", bills); req.getRequestDispatcher("dellist.jsp").forward(req,resp); } private void delete(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); int id = Integer.parseInt(req.getParameter("id")); dao.delete(id); req.setAttribute("message", "删除成功"); req.getRequestDispatcher("index.jsp").forward(req,resp); } //--------------------------------------------------------------------------------------------------------------------------------- private void getBillById2(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); int id = Integer.parseInt(req.getParameter("id")); Bill bill = dao.getBillById(id); req.setAttribute("bill", bill); req.getRequestDispatcher("modify.jsp").forward(req,resp); } private void modifylist(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); List<Bill> bills = dao.modifylist(); req.setAttribute("bills",bills); req.getRequestDispatcher("modifylist.jsp").forward(req,resp); } private void modify(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); int id = Integer.parseInt(req.getParameter("id")); String type = req.getParameter("type"); String year = req.getParameter("year"); String month = req.getParameter("month"); String day = req.getParameter("day"); String income = req.getParameter("income"); String pay = req.getParameter("pay"); Bill bill = new Bill(id, type, year, month,day,income,pay); dao.modify(bill); req.setAttribute("message", "修改成功"); req.getRequestDispatcher("BillServlet?method=modifylist").forward(req,resp); } //--------------------------------------------------------------------------------------------------------------------------------- private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); String type = req.getParameter("type"); String year = req.getParameter("year"); String month = req.getParameter("month"); String day = req.getParameter("day"); String income = req.getParameter("income"); String pay = req.getParameter("pay"); List<Bill> bills = dao.search(type,year,month,day,income,pay); req.setAttribute("bills", bills); req.getRequestDispatcher("searchlist.jsp").forward(req,resp); } }
主页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>首页</title> <style> .a{ font-size: 26px; margin-top: 20px; } </style> </head> <body> <div align="center"> <h1 style="color:bluegreen;">记帐本</h1> <div class="a"> <a href="add.jsp">账单记录</a> </div> <div class="a"> <a href="BillServlet?method=dellist">账单删除</a> </div> <div class="a"> <a href="BillServlet?method=modifylist">修改账单</a> </div> <div class="a"> <a href="search.jsp">查询账单</a> </div> </div> </body> </html>
添加
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>记录账单</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } </style> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: red;">记账</h1> <form action="BillServlet?method=add" method="post" onsubmit="return check()"> <div class="a"> 类型<input type="text" id="type" name="type"/> </div> <div class="a"> 年<input type="text" id="year" name="year" /> </div> <div class="a"> 月<input type="text" id="month" name="month"/> </div> <div class="a"> 日<input type="text" id="day" name="day"/> </div> <div class="a"> 收入<input type="text" id="income" name="income"/> </div> <div class="a"> 支出<input type="text" id="pay" name="pay"/> </div> <div class="a"> <button type="submit" class="b">保 存</button> </div> <div class="a"> <a href="index.jsp" >返回</a> </div> </form> </div> </body> </html>
删除
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } .tb, td { border: 1px solid black; font-size: 22px; } </style> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: red;">账单信息列表</h1> <a href="index.jsp">返回主页</a> <table class="tb"> <tr> <td>id</td> <td>账单类型</td> <td>年</td> <td>月</td> <td>日</td> <td>收入</td> <td>支出</td> <td align="center" colspan="2">操作</td> </tr> <c:forEach items="${bills}" var="xm"> <tr> <td>${xm.id}</td> <td>${xm.type}</td> <td>${xm.year}</td> <td>${xm.month}</td> <td>${xm.day}</td> <td>${xm.income}</td> <td>${xm.pay}</td> <td><a href="BillServlet?method=getbillbyid&id=${xm.id}">删除</a></td> </tr> </c:forEach> </table> </div> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } .tb, td { border: 1px solid black; font-size: 22px; } </style> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: red;">账单信息删除</h1> <a href="index.jsp">返回主页</a> <table class="tb"> <tr> <td>账单类型</td> <td>${bill.type}</td> </tr> <tr> <td>年</td> <td>${bill.year}</td> </tr> <tr> <td>月</td> <td>${bill.month}</td> </tr> <tr> <td>日</td> <td>${bill.day}</td> </tr> <tr> <td>收入</td> <td>${bill.income}</td> </tr> <tr> <td>支出</td> <td>${bill.pay}</td> </tr> </table> <div class="a"> <a onclick="return check()" href="BillServlet?method=delete&id=${bill.id}">删 除</a> </div> </div> <script type="text/javascript"> function check() { if (confirm("真的要删除吗?")){ return true; }else{ return false; } } </script> </body> </html>
修改
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } .tb, td { border: 1px solid black; font-size: 22px; } </style> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: red;">账单信息列表</h1> <a href="index.jsp">返回主页</a> <table class="tb"> <tr> <td>id</td> <td>账单类型</td> <td>年</td> <td>月</td> <td>日</td> <td>收入</td> <td>支出</td> <td align="center" colspan="2">操作</td> </tr> <c:forEach items="${bills}" var="item"> <tr> <td>${item.id}</td> <td>${item.type}</td> <td>${item.year}</td> <td>${item.month}</td> <td>${item.day}</td> <td>${item.income}</td> <td>${item.pay}</td> <td><a href="BillServlet?method=getbillbyid2&id=${item.id}">修改</a></td> </tr> </c:forEach> </table> </div> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } </style> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: cyan;">记账信息修改</h1> <a href="index.jsp">返回主页</a> <form action="BillServlet?method=modify" method="post" onsubmit="return check()"> <div class="a"> 账单类型<input type="text" id="type" name="type" value="${bill.type}"/> </div> <div class="a"> 年<input type="text" id="year" name="year" value="${bill.year}"/> </div> <div class="a"> 月<input type="text" id="month" name="month" value="${bill.month}"/> </div> <div class="a"> 日<input type="text" id="day" name="day" value="${bill.day}"/> </div> <div class="a"> 收入<input type="text" id="income" name="income" value="${bill.income}"/> </div> <div class="a"> 支出<input type="text" id="pay" name="pay" value="${bill.pay}"/> </div> <input type="hidden" id="id" name="id" value="${bill.id}"/> <div class="a"> <button type="submit" class="b">修 改</button> </div> </form> </div> </body> </html>
查找
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } </style> </head> <body> <div align="center"> <h1 style="color: cyan;">账单信息查询</h1> <a href="index.jsp">返回主页</a> <form action="BillServlet?method=search" method="post" onsubmit="return check()"> <div class="a"> 账单类型<input type="text" id="type" name="type"/> </div> <div class="a"> 年<input type="text" id="year" name="year" /> </div> <div class="a"> 月<input type="text" id="month" name="month" /> </div&g以上是关于jsp连接数据库增删改查的主要内容,如果未能解决你的问题,请参考以下文章
jsp-2 简单的servlet连接mysql数据库 增删改查