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 ...
随机推荐
- c++未指定返回值
int foo() { } foo返回的是随机数 函数的返回值在函数堆栈的参数后面,由一个指向寄存器的指针决定,函数返回时,调用者取指针取寄存器中的值作为返回值. 如果指定返回值,函数在返回前会将返回 ...
- Spring Hibernate4 整合配置文档
1 applicationContext.xml配置文档 <?xml version="1.0" encoding="UTF-8"?><bea ...
- HTML5画布Canvas
一.Canvas概念介绍 1.概念 Canvas : 画布 2.作用 : HTML5 Canvas 元素用于图形的绘制, 通过脚本(通常是JavaScript)来完成.它本身只是个图形容器,必须使用脚 ...
- 音频视频播放(jquery中将jquery方法转化成js方法)
在jQuery中没有音频视频直接播放的方法,我们在写音频视频时,应该将jquery的方法转化为js方法:play():pause() 补充: 将jq对象转化成js对象写法: var music=$ ...
- python的random模块
As an example of subclassing, the random module provides the WichmannHill class that implements an a ...
- Realsense 人脸识别
一.代码声明 下面的代码是博主参考了Intel realsense官方SDK和官方例程后写的一段较为简单的代码,实现了简单的多人脸实时检测及跟踪功能.官方的人脸检测例程功能较多,但代码量很大,阅读起来 ...
- 一入python深似海--dict(字典)的一种实现
以下是python中字典的一种实现.用list数据结构实现字典.详细是这种:[[(key1,value1),(key2,value2),...],[],[],...] 内部每个hash地址是一个lis ...
- cocos2d粒子效果
第9章 粒子效果 游戏开发者通常使用粒子系统来制作视觉特效.粒子系统能够发射大量细小的粒子并对他们进行渲染,而且效率要远高于渲染同样数目的精灵.粒子系统可以模拟下雨.火焰.雪.爆炸.蒸气拖尾以及其他多 ...
- debian的备份与还原
不管是windows还是linux 备份都很重要 因为配好一个系统是要花很多时间的 出了问题的话 有备份直接还原就可以了 windows下有ghost 那么linux下呢?Linux可以在系统正在运行 ...
- CSS拾遗+技巧集合
1.实现尖角符号. 这是内联inline-block标签独有的特性. <!DOCTYPE html> <html lang="en"> <head&g ...