码迷,mamicode.com
首页 > 数据库 > 详细

JDBC操作数据库之修改数据

时间:2017-09-07 14:56:43      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:package   oca   tle   ima   org   页面   script   sql语句   body   

使用JDBC修改数据库中的数据,起操作方法是和添加数据差不多的,只不过在修改数据的时候还要用到UPDATE语句来实现的,例如:把图书信息id为1的图书数量改为100,其sql语句是:update book set bookCount=100 where id=1。在实际开发过程中,通常会由程序传递SQL语句中的参数,所以修改数据也通常使用PreparedStatement对象进行操作。

实例代码:

(1)index.jsp

技术分享
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>修改数据</title>
5 </head>
6 <body>
7     <a href="FindServlet">修改数据</a>
8 </body>
9 </html>
查看代码

(2)book_list.jsp代码

技术分享
 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="com.book.Book" %>
 4 <%@ page import="java.util.ArrayList" %>
 5 <%@ page import="java.util.List" %>
 6 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 7 <html>
 8 <head>
 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
10 <title>修改图书信息</title>
11 <style>
12     td{
13         font-size:12px;
14     }
15     h2{
16         margin:2px;
17     }
18 </style>
19 <script type="text/javascript">
20     function check(form){
21         with(form){
22             if(bookCount.value == ""){
23                 alert("请输入更新数量!");
24                 return false;
25             }
26             if(isNaN(bookCount.value)){
27                 alert("格式错误!");
28                 return false;
29             }
30             return true;
31         }
32     }
33 </script>
34 </head>
35 <body>
36     <div style="text-align:center;">
37         <table align="center" width="500px" border="1" height="170px" bordercolor="white" bgcolor="black" cellpadding="1">
38             <tr bgcolor="white">
39                 <td align="center" colspan="6">
40                     <h2>所有图书信息 </h2>
41                 </td>
42             </tr>
43             <tr align="center" bgcolor="#e1ffc1">
44                 <td><b>ID</b></td>
45                 <td><b>图书名称</b></td>
46                 <td><b>价格</b></td>
47                 <td><b>作者</b></td>
48                 <td><b>修改数量</b></td>
49             </tr>
50             <%
51                 List<Book> list = (List<Book>)request.getAttribute("list");
52                 if(list ==null || list.size() < 1){
53                     out.print("数据为空");
54                 }else{
55                     for(Book book:list){
56                         
57                     
58                 
59             %>
60             <tr align="center" bgcolor="white">
61                 <td><%= book.getId() %></td>
62                 <td><%= book.getName() %></td>
63                 <td><%= book.getPrice() %></td>
64                 <td><%= book.getBookCount() %></td>
65                 <td><%= book.getAuthor() %></td>
66                 <td>
67                     <form action="UpdateServlet" method="post" onsubmit="return check(this);">
68                         <input type="hidden" name="id" value="<%= book.getId() %>" >
69                         <input type="text" name="bookCount" size="3">
70                         <input type="submit" value="修    改">
71                     </form>
72                 </td>
73             </tr>
74             <%
75                     }
76                 }
77             %>
78          </table>
79     </div>
80 </body>
81 </html>
查看代码

(3)Book类对象

技术分享
 1 package com.book;
 2 
 3 public class Book {
 4     private int id;
 5     private String name;
 6     private double price;
 7     private int bookCount;
 8     private String author;
 9     public int getId() {
10         return id;
11     }
12     public void setId(int id) {
13         this.id = id;
14     }
15     public String getName() {
16         return name;
17     }
18     public void setName(String name) {
19         this.name = name;
20     }
21     public double getPrice() {
22         return price;
23     }
24     public void setPrice(double price) {
25         this.price = price;
26     }
27     public int getBookCount() {
28         return bookCount;
29     }
30     public void setBookCount(int bookCount) {
31         this.bookCount = bookCount;
32     }
33     public String getAuthor() {
34         return author;
35     }
36     public void setAuthor(String author) {
37         this.author = author;
38     }
39     
40 }
查看代码

(4)DBConnection.java

技术分享
 1 package com.db;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 
 7 public class DBConnection {
 8     private String url = "jdbc:mysql://localhost:3306/test";
 9     private String driver = "com.mysql.jdbc.DriverManager";
10     private String username = "root";
11     private String password = "123456";
12     Connection conn = null;
13     public Connection getConn() {
14         try {
15             
16             Class.forName(driver);
17            
18             conn = DriverManager.getConnection(url,username,password);
19             
20         }catch(ClassNotFoundException e1) {
21             e1.printStackTrace();
22         }catch (SQLException e) {
23             // TODO Auto-generated catch block
24             e.printStackTrace();
25         }
26         return conn;
27     }
28  
29 }
查看代码

(5)FindServlet.java

技术分享
 1 package com.db;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 
 7 public class DBConnection {
 8     private String url = "jdbc:mysql://localhost:3306/test";
 9     private String driver = "com.mysql.jdbc.DriverManager";
10     private String username = "root";
11     private String password = "123456";
12     Connection conn = null;
13     public Connection getConn() {
14         try {
15             
16             Class.forName(driver);
17            
18             conn = DriverManager.getConnection(url,username,password);
19             
20         }catch(ClassNotFoundException e1) {
21             e1.printStackTrace();
22         }catch (SQLException e) {
23             // TODO Auto-generated catch block
24             e.printStackTrace();
25         }
26         return conn;
27     }
28  
29 }
查看代码

(6)UpdateServlet.java

技术分享
 1 package com.servlet;
 2 
 3 import java.io.IOException;
 4 import java.sql.Connection;
 5 import java.sql.DriverManager;
 6 import java.sql.PreparedStatement;
 7 
 8 import javax.servlet.ServletException;
 9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12 
13 public class UpdateServlet extends HttpServlet {
14     
15     private static final long serialVersionUID = 1L;
16     protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
17         int id = Integer.valueOf(request.getParameter("id"));
18         int bookCount = Integer.valueOf(request.getParameter("bookCount"));
19         try {
20             Class.forName("com.mysql.jdbc.Driver");
21             String url = "jdbc:mysql://localhost:3306/test";
22             String username = "root";
23             String password = "123456";
24             String sql = "update book set bookCount=? where id=?";
25             Connection conn = DriverManager.getConnection(url,username,password);
26             PreparedStatement ps = conn.prepareStatement(sql);
27             ps.setInt(1, bookCount);
28             ps.setInt(2, id);
29             ps.executeUpdate();
30             ps.close();
31             conn.close();
32         }catch(Exception e) {
33             e.printStackTrace();
34         }
35         
36         //重定向到FindServlet
37         response.sendRedirect("FindServlet");
38     }
39     
40 }
查看代码

程序运行结果:

index.jsp页面

技术分享

book_list.jsp页面

技术分享

 

JDBC操作数据库之修改数据

标签:package   oca   tle   ima   org   页面   script   sql语句   body   

原文地址:http://www.cnblogs.com/lihuibin/p/7489381.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!