JDBC之修改数据
文件分布图:
在MySQL中设置表格:
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>
JDBC之修改数据的更多相关文章
- JDBC操作数据库之修改数据
使用JDBC修改数据库中的数据,起操作方法是和添加数据差不多的,只不过在修改数据的时候还要用到UPDATE语句来实现的,例如:把图书信息id为1的图书数量改为100,其sql语句是:update bo ...
- c#教程之通过数据绑定修改数据
通过数据绑定修改数据 "实体框架"提供了与数据库的双向通信通道.前面已经讲述了如何使用"实体框架"获 取数据,现在来看看如何修改获取的信息,并将改动发送回数据库 ...
- Redis修改数据多线程并发—Redis并发锁
本文版权归博客园和作者本人吴双共同所有 .转载爬虫请注明地址,博客园蜗牛 http://www.cnblogs.com/tdws/p/5712835.html 蜗牛Redis系列文章目录http:// ...
- MySQL数据库5 - 插入数据,修改数据,删除数据
一.插入数据 1. 所有列都插入值 INSERT [INTO] TABLE_NAME VALUES(V1,V2....Vn); 特点:列值同数,列值同序 eg: insert into users v ...
- 实现DevExpress GridControl 只有鼠标双击后才进行修改数据
1. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据:修改GridView.OptionsBehavior.EditorShowMode属性为Click 2. 实现De ...
- IntelliJ IDEA 在网页修改数据,但是在浏览器刷新的时候,不能读取到修改之后的数据
使用IntelliJ IDEA 在网页修改数据,但是在浏览器刷新的时候,不能读取到修改之后的数据? 解决办法:tomcat配置中,On frame deactivation属性选择Update cla ...
- DataSnap修改数据ApplyUpdates出现错误:连接繁忙导致另一个命令
最近准备尝试用DBExpress做个SQL Serer应用,在学习的时候发现一个问题使用DBExpress连接Sql server 2008 express使用以下控件SQLConnection-&g ...
- phalcon: update修改数据却变成了insert插入数据
phalcon: 在对表进行操作是,update修改数据却变成了insert插入数据. 发现,update的时,无论怎么加where都会变成了insert插入数据. 检查了一下表,原来是表没有 主键引 ...
- MYSQL中约束及修改数据表
MYSQL中约束及修改数据表 28:约束约束保证数据的完整性和一致性约束分为表级约束和列级约束约束类型包括: NOT NULL(非空约束) PRIMARY KEY(主键约束) UNI ...
随机推荐
- Tiny6410声卡驱动——录音与回放
在Linux下,音频设备程序的实现与文件系统的操作密切相关.Linux将各种设备以文件的形式给出统一的接口,这样的设计使得对设备的编程与对文件的操作基本相同,对Linux内核的系统调用也基本一致,从而 ...
- Vue2.0表单校验组件vee-validate的使用
vee-validate使用教程 *本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 n ...
- Java中字符串相等与大小比较
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- Squid代理服务器&&搭建透明代理网关服务器
案例需求 ——公司选用RHEL5服务器作为网关,为了有效节省网络带宽.提高局域网访问Internet的速度,需要在网关服务器上搭建代理服务,并结合防火墙策略实现透明代理,以减少客户端的重复设置工作 需 ...
- Codeforces Testing Round #12 C. Subsequences 树状数组维护DP
C. Subsequences Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/597/probl ...
- Codeforces Gym 100338I TV Show 傻逼DFS,傻逼题
Problem I. TV ShowTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest ...
- delphi 立即显示提示
procedure TForm1.FormCreate(Sender: TObject); begin Application.HintPause:=0;//立即显示 Application.hi ...
- ORACLE中CONSTRAINT的四对属性
ORACLE中CONSTRAINT的四对属性 summary:在data migrate时,某些表的约束总是困扰着我们,让我们的migratet举步维艰,怎样利用约束本身的属性来处理这些问题呢?本文具 ...
- 偶然发现关于网页JavaScript脚本无法正常运行的原因
客户常常打电话投诉公司的销售系统有问题, 后来发现有的客户直接把网址设为受限网站,才导致系统无法正常执行.改动后正常.
- decide your linux OS is GUI or not
Try: ps -ef|grep X The ps command will display information about a selection of the active process ...