JDBC之修改数据

时间:2023-03-08 21:10:20

文件分布图:

JDBC之修改数据

在MySQL中设置表格:

JDBC之修改数据

Books:

package com.caiduping.entity;

public class Books {
private int id;
// 图书名称
private String name;
// 价格
private double price;
// 数量
private int bookCount;
// 作者
private String author;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getBookCount() {
return bookCount;
}
public void setBookCount(int bookCount) {
this.bookCount = bookCount;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}

bookdao:

package com.caiduping.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.ArrayList;
import com.caiduping.dao.dataconn;
import com.caiduping.entity.Books; public class bookdao {
public int addBooks(Books b) throws ClassNotFoundException,SQLException{
dataconn c=new dataconn();
Connection conn=c.openconn();
String sql = "insert into tb_books(name,price,bookCount,author) values(?,?,?,?)";
// 获取PreparedStatement
PreparedStatement ps = conn.prepareStatement(sql);
// 对SQL语句中的第1个参数赋值
ps.setString(, b.getName());
System.out.println("name:"+b.getName());
// 对SQL语句中的第2个参数赋值
ps.setDouble(, b.getPrice());
// 对SQL语句中的第3个参数赋值
ps.setInt(,b.getBookCount());
// 对SQL语句中的第4个参数赋值
ps.setString(, b.getAuthor());
// 执行更新操作,返回所影响的行数
int row = ps.executeUpdate();
// 判断是否更新成功
conn.close();
return row;
}
public List<Books> Listbook() throws ClassNotFoundException, SQLException{
List<Books> b=new ArrayList<Books>();
dataconn c=new dataconn();
Connection conn=c.openconn();
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("select * from tb_books"); //利用st执行语句,结果防到结果集.
while(rs.next())
{Books b1=new Books();
b1.setId(rs.getInt("id"));
b1.setName(rs.getString("name"));
b1.setPrice(rs.getDouble("price"));
b1.setBookCount(rs.getInt("bookCount"));
b1.setAuthor(rs.getString("author"));
b.add(b1);
}
rs.close();
st.close();
conn.close();
return b;
}
public List<Books> Listbook(String a) throws ClassNotFoundException, SQLException //查询书籍名称含有a串的书籍
{List<Books> b=new ArrayList<Books>();
dataconn c=new dataconn();
Connection conn=c.openconn();
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("select * from tb_books where name like '%'+" + a + "+'%'"); //利用st执行语句,结果防到结果集.
while(rs.next())
{Books b1=new Books();
b1.setId(rs.getInt("id"));
b1.setName(rs.getString("name"));
b1.setPrice(rs.getDouble("price"));
b1.setBookCount(rs.getInt("bookCount"));
b1.setAuthor(rs.getString("author"));
b.add(b1);
}
rs.close();
st.close();
conn.close();
return b; }
public Books Listbook(int a) throws ClassNotFoundException, SQLException //参数a为书籍编号
{Books b1=new Books();
dataconn c=new dataconn();
Connection conn=c.openconn();
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("select * from tb_books where id=" + a); //利用st执行语句,结果防到结果集.
if(rs.next())
{
b1.setId(rs.getInt("id"));
b1.setName(rs.getString("name"));
b1.setPrice(rs.getDouble("price"));
b1.setBookCount(rs.getInt("bookCount"));
b1.setAuthor(rs.getString("author")); }
rs.close();
st.close();
conn.close();
return b1;
}
public int modiBooks(Books b) throws SQLException, ClassNotFoundException
{int a=;
dataconn c=new dataconn();
Connection conn=c.openconn();
String sql="update tb_books set name=?,price=?,bookCount=?,author=? where id=?";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(,b.getName());
ps.setDouble(, b.getPrice());
ps.setInt(,b.getBookCount());
ps.setString(, b.getAuthor());
ps.setInt(,b.getId());
a=ps.executeUpdate();
ps.close();
conn.close(); return a;
}}

dataconn:

package com.caiduping.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class dataconn {
public Connection openconn()throws ClassNotFoundException,SQLException {
// TODO Auto-generated method stub
Connection conn=null;
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_database10","user2","");
return conn;
}
}

Booklist:

package com.caiduping.servlet;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.caiduping.dao.bookdao;
import com.caiduping.entity.Books; public class Booklist extends HttpServlet { /**
* Constructor of the object.
*/
public Booklist() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
bookdao b=new bookdao();
List<Books> b1=new ArrayList<Books>();
try{
try {
b1=b.Listbook();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}catch(ClassNotFoundException e){
e.printStackTrace();
}
} /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }

modibooks1:

package com.caiduping.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.caiduping.dao.bookdao;
import com.caiduping.entity.Books; public class modibooks1 extends HttpServlet { /**
* Constructor of the object.
*/
public modibooks1() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int a=Integer.parseInt(request.getParameter("ID"));
bookdao b=new bookdao();
Books b1=new Books();
try{
try {
b1=b.Listbook(a);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}catch(ClassNotFoundException e){
e.printStackTrace();
}
request.setAttribute("book", b1);
request.getRequestDispatcher("modi1.jsp").forward(request, response);
} /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request, response);
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }

modibooks2:

package com.caiduping.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.caiduping.dao.bookdao;
import com.caiduping.entity.Books; public class modibooks2 extends HttpServlet { /**
* Constructor of the object.
*/
public modibooks2() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Books b=new Books();
b.setId(Integer.parseInt(request.getParameter("id").toString()));
b.setName(request.getParameter("name"));
b.setPrice(Double.parseDouble(request.getParameter("price").toString()));
b.setAuthor(request.getParameter("author"));
bookdao b1=new bookdao();
int n=;
try{
try {
n=b1.modiBooks(b);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}catch(SQLException e){
e.printStackTrace();
}
request.getRequestDispatcher("b").forward(request, response);
} /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }

book_list.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="com.caiduping.entity.Books" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'book_list.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<table width="" border="" align="center">
<tr>
<td>编号</td>
<td>名称</td>
<td>单价</td>
<td>数量</td>
<td>作者</td><td>操作</td>
</tr>
<%
List<Books> list=(List<Books>)request.getAttribute("list");
if(list==null||list.size()<){
out.print("没有数据!");
}else{
%>
<%for(Books b:list){ %>
<tr>
<td><%=b.getId() %></td>
<td><%=b.getName() %></td>
<td><%=b.getPrice() %></td>
<td><%=b.getBookCount() %></td>
<td><%=b.getAuthor() %></td>
<td><a href="modi?ID=%=b.getId() %>">修改</a></td>
</tr>
<%
}
} %>
</table>
</body>
</html>

modi1.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="com.caiduping.entity.Books" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'modi1.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<%
Books b=(Books)request.getAttribute("books"); %>
<form id="form1" name="form1" method="post" action="modi2">
<input type="hidden" name="id" value="<%=b.getId()%>" />
<table width="" border="" align="center">
<tr>
<td colspan=""><div align="center" class="STYLE1">书籍修改</div></td>
</tr> <tr>
<td>书名</td>
<td><label>
<input name="name" type="text" id="name" value="<%=b.getName()%>"/>
</label></td>
</tr>
<tr>
<td>单价</td>
<td><label>
<input name="price" type="text" id="price" value="<%=b.getPrice()%>"/>
</label></td>
</tr>
<tr>
<td>数量</td>
<td><label>
<input name="bookCount" type="text" id="bookCount" value="<%=b.getBookCount()%>"/>
</label></td>
</tr>
<tr>
<td>作者</td>
<td><label>
<input name="author" type="text" id="author" value="<%=b.getAuthor()%>"/>
</label></td>
</tr>
<tr>
<td colspan=""><label>
<div align="center">
<input type="submit" name="Submit" value="修改" />
</div>
</label></td>
</tr>
</table>
</form>
</body>
</html>