JDBC操作数据库之修改数据
使用JDBC修改数据库中的数据,起操作方法是和添加数据差不多的,只不过在修改数据的时候还要用到UPDATE语句来实现的,例如:把图书信息id为1的图书数量改为100,其sql语句是:update book set bookCount=100 where id=1。在实际开发过程中,通常会由程序传递SQL语句中的参数,所以修改数据也通常使用PreparedStatement对象进行操作。
实例代码:
(1)index.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改数据</title>
</head>
<body>
<a href="FindServlet">修改数据</a>
</body>
</html>
查看代码
(2)book_list.jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.book.Book" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改图书信息</title>
<style>
td{
font-size:12px;
}
h2{
margin:2px;
}
</style>
<script type="text/javascript">
function check(form){
with(form){
if(bookCount.value == ""){
alert("请输入更新数量!");
return false;
}
if(isNaN(bookCount.value)){
alert("格式错误!");
return false;
}
return true;
}
}
</script>
</head>
<body>
<div style="text-align:center;">
<table align="center" width="500px" border="1" height="170px" bordercolor="white" bgcolor="black" cellpadding="1">
<tr bgcolor="white">
<td align="center" colspan="6">
<h2>所有图书信息 </h2>
</td>
</tr>
<tr align="center" bgcolor="#e1ffc1">
<td><b>ID</b></td>
<td><b>图书名称</b></td>
<td><b>价格</b></td>
<td><b>作者</b></td>
<td><b>修改数量</b></td>
</tr>
<%
List<Book> list = (List<Book>)request.getAttribute("list");
if(list ==null || list.size() < 1){
out.print("数据为空");
}else{
for(Book book:list){ %>
<tr align="center" bgcolor="white">
<td><%= book.getId() %></td>
<td><%= book.getName() %></td>
<td><%= book.getPrice() %></td>
<td><%= book.getBookCount() %></td>
<td><%= book.getAuthor() %></td>
<td>
<form action="UpdateServlet" method="post" onsubmit="return check(this);">
<input type="hidden" name="id" value="<%= book.getId() %>" >
<input type="text" name="bookCount" size="3">
<input type="submit" value="修 改">
</form>
</td>
</tr>
<%
}
}
%>
</table>
</div>
</body>
</html>
查看代码
(3)Book类对象
package com.book;
public class Book {
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;
}
}
查看代码
(4)DBConnection.java
package com.db; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class DBConnection {
private String url = "jdbc:mysql://localhost:3306/test";
private String driver = "com.mysql.jdbc.DriverManager";
private String username = "root";
private String password = "123456";
Connection conn = null;
public Connection getConn() {
try { Class.forName(driver); conn = DriverManager.getConnection(url,username,password); }catch(ClassNotFoundException e1) {
e1.printStackTrace();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
} }
查看代码
(5)FindServlet.java
package com.db; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class DBConnection {
private String url = "jdbc:mysql://localhost:3306/test";
private String driver = "com.mysql.jdbc.DriverManager";
private String username = "root";
private String password = "123456";
Connection conn = null;
public Connection getConn() {
try { Class.forName(driver); conn = DriverManager.getConnection(url,username,password); }catch(ClassNotFoundException e1) {
e1.printStackTrace();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
} }
查看代码
(6)UpdateServlet.java
package com.servlet; import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class UpdateServlet extends HttpServlet { private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
int id = Integer.valueOf(request.getParameter("id"));
int bookCount = Integer.valueOf(request.getParameter("bookCount"));
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
String sql = "update book set bookCount=? where id=?";
Connection conn = DriverManager.getConnection(url,username,password);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, bookCount);
ps.setInt(2, id);
ps.executeUpdate();
ps.close();
conn.close();
}catch(Exception e) {
e.printStackTrace();
} //重定向到FindServlet
response.sendRedirect("FindServlet");
} }
查看代码
程序运行结果:
index.jsp页面

book_list.jsp页面

JDBC操作数据库之修改数据的更多相关文章
- JDBC操作数据库之删除数据
删除数据使用的SQL语句为delete语句,如果删除图书id为1的图书信息,其SQL语句为: delete from book where id=1 在实际开发中删除数据通常使用PreparedSta ...
- JDBC操作数据库之查询数据
以数据库中查找图书信息,并将信息显示在jsp页面当中为例,下面贴上代码片段: (1)在index.jsp页面代码body中只要添加如下一段代码: <a href="FindServle ...
- MySQL_(Java)使用JDBC向数据库中修改(update)数据
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC向数据库中插入(insert)数据 传送门 MySQL_(Java)使用JDBC向数据库中删除(d ...
- JDBC操作数据库的学习(2)
在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本 ...
- JDBC操作数据库的学习(1)
单单对数据库的操作,比如说MySQL,我们可以在命令行窗口中执行,但是一般是应用程序要操作数据库,因此我们应该在程序中的代码上体现对数据库的操作,那么使用程序应用如何操作数据库呢?那就要使用到数据库的 ...
- Spring入门(十五):使用Spring JDBC操作数据库
在本系列的之前博客中,我们从没有讲解过操作数据库的方法,但是在实际的工作中,几乎所有的系统都离不开数据的持久化,所以掌握操作数据库的使用方法就非常重要. 在Spring中,操作数据库有很多种方法,我们 ...
- 用于JDBC操作数据库的公共类
/* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...
- JDBC操作数据库之连接数据库
通过JDBC向数据库中添加数据的时候,使用insert语句实现数据的插入,再SQL语句中的参数可以用占位符"?"来替代,然后通过PreparedStatement对象或者State ...
- JDBC操作数据库的三种方式比较
JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL. ...
随机推荐
- mysql 存储过程中使用游标中使用临时表可以替代数组效果
mysql不支持数组.但有时候需要组合几张表的数据,在存储过程中,经过比较复杂的运算获取结果直接输出给调用方,比如符合条件的几张表的某些字段的组合计算,mysql临时表可以解决这个问题.临时表:只有在 ...
- DataSet 转 List
public class OrderInfo { public OrderResult GetOrderInfoByOrderNum(List<string> orderNumList) ...
- Redis集群之配置文件详解(待完善)
运维Redis集群的核心任务就是配置文件Redis.conf 命令行将现使用的Redis配置参数导出到 redis.conf.bak文件 .conf > redis.conf.bak 查看文件内 ...
- vim 基本编辑操作
一.光标跳转到指定行 1.在命令模式下,跳转到指定行 :n (n为行号) 2.命令行加参数 vim +n fileName 3.命令行加参数 vim + fileName 光标移至文件底部 4. ...
- Oracle 11g的安装详细过程
本次采用的电脑为win10 专业版,以下为本人电脑的配置情况: 本人是第一次在win10系统上面进行oracle 11g的安装. 以下为安装步骤: 一.下载软件包 以下为各种oracle安装包的下载网 ...
- Oozie调用Spark实例
oozie调用spark有三样是必须有的: workflow.xml(不可改名) , job.properties(可改名) , jar包(自备). 1.workflow.xml workflow.x ...
- Andrew Ng机器学习课程笔记--week8(K-means&PCA)
Unsupervised Learning 本周我们讲学习非监督学习算法,会学习到如下概念 聚类(clustering) PCA(Principal Componets Analysis主成分分析), ...
- 一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系
我们知道,不同肤色的人外貌差别很大,而双胞胎的辨识很难.有意思的是Web服务器/Web容器/Web应用程序服务器/反向代理有点像四胞胎,在网络上经常一起出现.本文将带读者对这四个相似概念如何区分. 1 ...
- 常用Dos操作指令
1 dir 无参数:查看当前所在目录的文件和文件夹. /s:查看当前目录已经其所有子目录的文件和文件夹. /a:查看包括隐含文件的所有文件. /ah:只显示出隐含文件. /w:以紧凑方式(一行显示5个 ...
- UEditor Flash文件上传-crossdomain.xml文件配置
在使用UEditor富文本时,如果客户端的浏览器是低版本浏览器,如IE7.IE8等,UEditor的文件上传方式将会使用flash方式上传而不是html5,而flash在跨域时唯一的限制策略就是cro ...