在本教程将演示如何在JDBC应用程序中,更新数据库的一个表中数据记录。 在执行以下示例之前,请确保您已经准备好以下操作:

  • 具有数据库管理员权限,以在给定模式的数据库表中更新数据记录。 要执行以下示例,需要用实际用户名和密码替换这里用户名(username)和密码(password)。
  • MySQL或数据库已启动并运行。

所需步骤

使用JDBC应用程序向表中更新数据记录需要以下步骤:

  • 导入包:需要包含包含数据库编程所需的JDBC类的包。 大多数情况下,使用import java.sql.*就足够了。

  • 注册JDBC驱动程序:需要初始化驱动程序,以便可以程序中打开数据库的通信通道。

  • 打开连接:需要使用DriverManager.getConnection()方法来创建一个Connection对象,它表示与数据库服务器的物理连接。

  • 执行查询:需要使用类型为Statement的对象来构建和提交SQL语句来更新表中的记录。在查询语句使用INWHERE子句指定更新记录的条件。

  • 清理环境:需要明确地关闭所有数据库资源,而不依赖于JVM的垃圾收集。

示例代码

复制以下示例代码保存到文件:UpdateRecords.java中,然后编译并运行如下 -

  1. //STEP 1. Import required packages
  2. // See more detail at http://www.yiibai.com/jdbc/
  3. import java.sql.*;
  4. public class UpdateRecords {
  5. // JDBC driver name and database URL
  6. static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
  7. static final String DB_URL = "jdbc:mysql://localhost/jdbc_db";
  8. // Database credentials
  9. static final String USER = "root";
  10. static final String PASS = "123456";
  11. public static void main(String[] args) {
  12. Connection conn = null;
  13. Statement stmt = null;
  14. try{
  15. //STEP 2: Register JDBC driver
  16. Class.forName("com.mysql.jdbc.Driver");
  17. //STEP 3: Open a connection
  18. System.out.println("Connecting to a selected database...");
  19. conn = DriverManager.getConnection(DB_URL, USER, PASS);
  20. System.out.println("Connected database successfully...");
  21. //STEP 4: Execute a query
  22. System.out.println("Creating statement...");
  23. stmt = conn.createStatement();
  24. String sql = "UPDATE student " +
  25. "SET age = 22 WHERE id in (100, 101)";
  26. stmt.executeUpdate(sql);
  27. // Now you can extract all the records
  28. // to see the updated records
  29. sql = "SELECT id, first, last, age FROM student";
  30. ResultSet rs = stmt.executeQuery(sql);
  31. while(rs.next()){
  32. //Retrieve by column name
  33. int id = rs.getInt("id");
  34. int age = rs.getInt("age");
  35. String first = rs.getString("first");
  36. String last = rs.getString("last");
  37. //Display values
  38. System.out.print("ID: " + id);
  39. System.out.print(", Age: " + age);
  40. System.out.print(", First: " + first);
  41. System.out.println(", Last: " + last);
  42. }
  43. rs.close();
  44. }catch(SQLException se){
  45. //Handle errors for JDBC
  46. se.printStackTrace();
  47. }catch(Exception e){
  48. //Handle errors for Class.forName
  49. e.printStackTrace();
  50. }finally{
  51. //finally block used to close resources
  52. try{
  53. if(stmt!=null)
  54. conn.close();
  55. }catch(SQLException se){
  56. }// do nothing
  57. try{
  58. if(conn!=null)
  59. conn.close();
  60. }catch(SQLException se){
  61. se.printStackTrace();
  62. }//end finally try
  63. }//end try
  64. System.out.println("Goodbye!");
  65. }//end main
  66. }//end JDBCExample
Java

编译上面代码,如下 -

  1. F:\worksp\jdbc> javac -Djava.ext.dirs=F:\worksp\jdbc\libs UpdateRecords.java
Shell

执行上面代码,如下 -

  1. ## 可先创建表或插入数据 -
  2. ## F:\worksp\jdbc> java -Djava.ext.dirs=F:\worksp\jdbc\libs InsertRecords
  3. F:\worksp\jdbc>java -Djava.ext.dirs=F:\worksp\jdbc\libs UpdateRecords
  4. Connecting to a selected database...
  5. Thu Jun 01 23:29:03 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
  6. Connected database successfully...
  7. Creating statement...
  8. ID: 100, Age: 22, First: C++, Last: Li
  9. ID: 101, Age: 22, First: Python, Last: Py
  10. ID: 102, Age: 30, First: Ruby, Last: Ru
  11. ID: 103, Age: 28, First: Java, Last: Ja
  12. Goodbye!
  13. F:\worksp\jdbc>

JDBC更新数据实例的更多相关文章

  1. Spring JDBC更新数据

    以下示例将展示如何使用Spring jdbc执行更新数据库表的记录,这里演示如何更新student表中指定条件的记录. 语法: String updateQuery = "update St ...

  2. JDBC排序数据实例

    在本教程将演示如何在JDBC应用程序中,从数据库表中查询数据记录,在查询语句中将使用asc和desc关键字按升序或降序对记录进行排序.在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员 ...

  3. JDBC删除数据实例

    在本教程将演示如何在JDBC应用程序中,删除数据库表中数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式的数据库表中删除数据记录. 要执行以下示例,需要用 ...

  4. JDBC查询数据实例

    在本教程将演示如何在JDBC应用程序中,查询数据库的一个表中数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中数据库表中查询数据记录. 要执行以下示例, ...

  5. JDBC插入数据实例

    在本教程将演示如何在JDBC应用程序中向数据库的一个表中插入数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中数据库表中插入数据记录. 要执行以下示例, ...

  6. JDBC操作数据库实例

    jdbc操作数据库实例 1.jdbc创建数据库 1.1 前提条件 1.拥有创建和删除表的权限 2.数据库已经启动,且可用 1.2 jdbc创建数据库表的步骤: 导包:导入需要进行数据库编程的 JDBC ...

  7. 使用 JDBC 操作数据库时,如何提升读取数据的性能?如 何提升更新数据的性能?

    要提升读取数据的性能,可以指定通过结果集(ResultSet)对象的 setFetchSize() 方法指定每次抓取的记录数(典型的空间换时间策略):要提升更新数据的性能 可以使用 PreparedS ...

  8. hibernate persist update 方法没有正常工作(不保存数据,不更新数据)

    工程结构 问题描述 在工程中通过spring aop的方式配置事务,使用hibernate做持久化.在代码实现中使用hibernate persit()方法插入数据到数据库,使用hibernate u ...

  9. JDBC工具类实例

    本文以讲解用单利模式实现一个简单的JDBC实用工具类JDBC连接的四个基本步骤:1.加载相应数据库驱动2.建立相应数据库连接3.构建Statement语句,即增删改查SQL语句4.执行Statemen ...

随机推荐

  1. step-by-step-creating-a-sql-server-2012-alwayson-availability-group/

    https://blogs.technet.microsoft.com/canitpro/2013/08/19/step-by-step-creating-a-sql-server-2012-alwa ...

  2. Linux之Kill进程的N种方法

    常规篇: 首先,用ps查看进程,方法如下: $ ps -ef …… smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx ...

  3. 【驱动】linux设备驱动·入门

    linux设备驱动 驱动程序英文全称Device Driver,也称作设备驱动程序.驱动程序是用于计算机和外部设备通信的特殊程序,相当于软件和硬件的接口,通常只有操作系统能使用驱动程序. 在现代计算机 ...

  4. Docker 入门(Mac环境)-part 1 入门基本操作

    part-1 入门基本操作 Docker 安装 去官网下载对应的版本,然后点击安装就可以了: 如果环境是Linux,可以参照之前写的get started教程 查看docker版本 docker -- ...

  5. LeetCode: Convert Sorted Array to Binary Search Tree 解题报告

    Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending ord ...

  6. 在构造函数中使用new时的注意事项

    果然,光看书是没用的,一编程序,很多问题就出现了-- 注意事项: 1. 如果构造函数中适用了new初始化指针成员,则构析函数中必须要用delete 2. new与delete必须兼容,new对应del ...

  7. pymongo 使用测试

    >>> import pymongo >>> uri = "mongodb://recall:123456@oceanic.mongohq.com:100 ...

  8. C#学习笔记(20)——使用IComparer(自己写的)

    说明(2017-7-25 10:38:37): 1. 参照了上一篇百度文库里的文章. 2. 总结来看,Icomparer就是sort方法的一个参数,用来自定义一个排序规则. 3. 使用方法是,定义一个 ...

  9. [转]ORA-01555错误总结(二)

    原文地址:http://blog.csdn.net/oradh/article/details/25683769 这篇文章紧接着上一篇“ORA-01555错误总结(一)”,主要描述延迟块清除导致的OR ...

  10. StreamingContext.getOrCreate

    /** */ object AppRealTime { def main(args: Array[String]): Unit = { ) { println("please input a ...