JDBC Statement实现数据库增删改查案例

àì夳堔傛蜴生んèń 2022-06-08 11:14 294阅读 0赞

JDBC Statement实现数据库增删改查案例:

博主在数据库中创建person表,字段信息如下:

Center

项目中需要的包为:ojdbc.jar

Center 1

示例代码:

1.Main.java

  1. package com.company;
  2. import java.sql.ResultSet;
  3. import java.sql.SQLException;
  4. public class Main {
  5. public static void main(String[] args) {
  6. //执行插入语句
  7. int update = DBUtils.executeUpdate("INSERT INTO person(name,psw,age,sex,description) VALUES('李四','123',18,'男','个人说明')");
  8. System.out.println(update > 0 ? "添加成功" : "添加失败");
  9. //执行查询语句
  10. DBUtils.RS dbRS = DBUtils.executeQuery("SELECT name,psw,age FROM person WHERE personid=42");
  11. ResultSet rs = dbRS.getRs();
  12. try {
  13. if (rs.next()) {
  14. String name = rs.getString("name");
  15. String psw = rs.getString("psw");
  16. int age = rs.getInt("age");
  17. System.out.println("查询结果: 姓名:" + name + " 密码:" + psw + " 年龄:" + age);
  18. }
  19. } catch (SQLException e) {
  20. e.printStackTrace();
  21. } finally {
  22. dbRS.close();
  23. }
  24. //执行修改语句
  25. int i = DBUtils.executeUpdate("UPDATE person SET age=36 WHERE personid=42");
  26. System.out.println(i > 0 ? "修改成功" : "修改失败");
  27. //执行删除语句
  28. int i1 = DBUtils.executeUpdate("DELETE FROM person WHERE personid=42");
  29. System.out.println(i1 > 0 ? "删除成功" : "删除失败");
  30. }
  31. }

2.DBUtils.java

  1. package com.company;
  2. import java.sql.*;
  3. public class DBUtils {
  4. /**
  5. * 数据库的属性信息
  6. */
  7. // 数据库主机 IP地址
  8. private static final String IP = "127.0.0.1";
  9. // 数据库端口
  10. private static final String PORT = "1521";
  11. // 数据库名称?
  12. private static final String DB_NAME = "oracle";
  13. // 数据库URL
  14. private static final String URL = "jdbc:oracle:thin:@" + IP + ":" + PORT + ":" + DB_NAME;
  15. // 数据库连接用户名
  16. private static final String USER = "scott";
  17. // 用户密码
  18. private static final String PSW = "tiger";
  19. // 获取数据库连接
  20. public static Connection getConn() {
  21. Connection conn = null;
  22. try {
  23. conn = DriverManager.getConnection(URL, USER, PSW);
  24. } catch (SQLException e) {
  25. e.printStackTrace();
  26. }
  27. return conn;
  28. }
  29. // 执行查询语句方法
  30. public static RS executeQuery(String sql) {
  31. Connection conn = null;
  32. Statement st = null;
  33. try {
  34. conn = DBUtils.getConn();
  35. st = conn.createStatement();
  36. ResultSet rs = st.executeQuery(sql);
  37. return new RS(conn, st, rs);
  38. } catch (SQLException e) {
  39. e.printStackTrace();
  40. }
  41. return null;
  42. }
  43. // 执行更新语句方法
  44. public static int executeUpdate(String sql) {
  45. Connection conn = null;
  46. Statement st = null;
  47. try {
  48. conn = DBUtils.getConn();
  49. st = conn.createStatement();
  50. int i = st.executeUpdate(sql);
  51. return i;
  52. } catch (SQLException e) {
  53. e.printStackTrace();
  54. } finally {
  55. close(conn, st);
  56. }
  57. return 0;
  58. }
  59. // 释放连接资源
  60. public static void close(ResultSet rs) {
  61. close(null, null, rs);
  62. }
  63. // 释放连接资源
  64. public static void close(Connection conn) {
  65. close(conn, null, null);
  66. }
  67. // 释放连接资源
  68. public static void close(Connection conn, Statement st) {
  69. close(conn, st, null);
  70. }
  71. // 释放连接资源
  72. public static void close(Connection conn, Statement st, ResultSet rs) {
  73. if (rs != null) {
  74. try {
  75. rs.close();
  76. } catch (SQLException e) {
  77. e.printStackTrace();
  78. }
  79. }
  80. if (st != null) {
  81. try {
  82. st.close();
  83. } catch (SQLException e) {
  84. e.printStackTrace();
  85. }
  86. }
  87. if (conn != null) {
  88. try {
  89. conn.close();
  90. } catch (SQLException e) {
  91. e.printStackTrace();
  92. }
  93. }
  94. }
  95. public static class RS {
  96. private Connection conn = null;
  97. private Statement st = null;
  98. private ResultSet rs;
  99. public RS(Connection conn, Statement st, ResultSet rs) {
  100. this.conn = conn;
  101. this.st = st;
  102. this.rs = rs;
  103. }
  104. public ResultSet getRs() {
  105. return this.rs;
  106. }
  107. public void close() {
  108. DBUtils.close(conn, st, rs);
  109. }
  110. }
  111. }

结果:

添加结果:

Center 2

修改结果:

Center 3

查询结果:

Center 4

删除结果:

Center 5

发表评论

表情:
评论列表 (有 0 条评论,294人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JDBC增删案例讲解

    JDBC增删改查案例讲解 简介:这是一个网上非常常见的,JDBC的练习题,系统大家通过本文的讲解,熟悉JDBC的增删改查。 推荐学习路线:[JDBC数据库的连接][JD