JDBC Statement实现数据库增删改查案例
来源:互联网 发布:windows账户格式 编辑:程序博客网 时间:2024/06/06 03:14
JDBC Statement实现数据库增删改查案例:
博主在数据库中创建person表,字段信息如下:
项目中需要的包为:ojdbc.jar
示例代码:
1.Main.java
package com.company;import java.sql.ResultSet;import java.sql.SQLException;public class Main { public static void main(String[] args) { //执行插入语句 int update = DBUtils.executeUpdate("INSERT INTO person(name,psw,age,sex,description) VALUES('李四','123',18,'男','个人说明')"); System.out.println(update > 0 ? "添加成功" : "添加失败"); //执行查询语句 DBUtils.RS dbRS = DBUtils.executeQuery("SELECT name,psw,age FROM person WHERE personid=42"); ResultSet rs = dbRS.getRs(); try { if (rs.next()) { String name = rs.getString("name"); String psw = rs.getString("psw"); int age = rs.getInt("age"); System.out.println("查询结果: 姓名:" + name + " 密码:" + psw + " 年龄:" + age); } } catch (SQLException e) { e.printStackTrace(); } finally { dbRS.close(); } //执行修改语句 int i = DBUtils.executeUpdate("UPDATE person SET age=36 WHERE personid=42"); System.out.println(i > 0 ? "修改成功" : "修改失败"); //执行删除语句 int i1 = DBUtils.executeUpdate("DELETE FROM person WHERE personid=42"); System.out.println(i1 > 0 ? "删除成功" : "删除失败"); }}
2.DBUtils.java
package com.company;import java.sql.*;public class DBUtils { /** * 数据库的属性信息 */// 数据库主机 IP地址 private static final String IP = "127.0.0.1"; // 数据库端口 private static final String PORT = "1521"; // 数据库名称? private static final String DB_NAME = "oracle"; // 数据库URL private static final String URL = "jdbc:oracle:thin:@" + IP + ":" + PORT + ":" + DB_NAME; // 数据库连接用户名 private static final String USER = "scott"; // 用户密码 private static final String PSW = "tiger"; // 获取数据库连接 public static Connection getConn() { Connection conn = null; try { conn = DriverManager.getConnection(URL, USER, PSW); } catch (SQLException e) { e.printStackTrace(); } return conn; } // 执行查询语句方法 public static RS executeQuery(String sql) { Connection conn = null; Statement st = null; try { conn = DBUtils.getConn(); st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); return new RS(conn, st, rs); } catch (SQLException e) { e.printStackTrace(); } return null; } // 执行更新语句方法 public static int executeUpdate(String sql) { Connection conn = null; Statement st = null; try { conn = DBUtils.getConn(); st = conn.createStatement(); int i = st.executeUpdate(sql); return i; } catch (SQLException e) { e.printStackTrace(); } finally { close(conn, st); } return 0; } // 释放连接资源 public static void close(ResultSet rs) { close(null, null, rs); } // 释放连接资源 public static void close(Connection conn) { close(conn, null, null); } // 释放连接资源 public static void close(Connection conn, Statement st) { close(conn, st, null); } // 释放连接资源 public static void close(Connection conn, Statement st, ResultSet rs) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (st != null) { try { st.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static class RS { private Connection conn = null; private Statement st = null; private ResultSet rs; public RS(Connection conn, Statement st, ResultSet rs) { this.conn = conn; this.st = st; this.rs = rs; } public ResultSet getRs() { return this.rs; } public void close() { DBUtils.close(conn, st, rs); } }}
结果:
添加结果:
修改结果:
查询结果:
删除结果:
阅读全文
0 0
- JDBC Statement实现数据库增删改查案例
- JDBC PreparedStatement实现数据库增删改查案例
- JDBC 1 利用Statement对数据库进行增删改查
- JDBC 实现 数据库的增删改查
- JDBC实现数据库增删改查
- JDBC实现数据库的增删改查
- JDBC - Statement的增删改查
- eclipse+jdbc+mysql+statement实现数据库的增删改
- Statement语句实现数据库的增删改查操作
- 数据库JDBC 增删改查
- JDBC 实现增删改查
- jdbc连接数据库及对数据库实现增删改查
- JDBC 笔记1 利用Statement对数据库进行增删改查
- JDBC连接MySQL数据库实现增删查改
- Java JDBC实现数据库的增删改查操作
- Java使用JDBC连接MySQL数据库,实现增删改查
- jsp+servlet+jdbc实现对数据库的增删改查
- JDBC连接数据库并实现增删查改
- from matplotlib import pyplot 报错处理
- Java9 modules (Jigsaw)模块化迁移
- nodejs 关于 es6 的支持
- hexo搭建
- mac下将vscode与unity关联,并使用vscode调试
- JDBC Statement实现数据库增删改查案例
- 使用Cmake生成CEF的项目源文件,并在VS2015中编译通过
- gitlub私服的搭建
- ImportError: No module named cv2 报错处理
- 最长递增子序列个数
- angular入门2
- odbccp32.lib(dllload.obj) : error LNK2019: __imp___vsnprintf,该符号在函数 _StringVPrintfWorkerA@20 中被引用
- hdu2087(剪花布条) KMP算法
- 基于MFC的五子棋应用(三)