IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 使用 JDBCUtil完成数据库增删改查 -> 正文阅读

[大数据]使用 JDBCUtil完成数据库增删改查

先在mysql中新建一个表

如图,表名为friends,数据库名为demo。

?

封装一个JDBCUtil工具类

?
/**
 * JDBCUtil工具类
 */
public class JDBCUtil {
 ? ?private static final String driver = "com.mysql.cj.jdbc.Driver";
 ? ?//?前面的demo要改为自己需要的数据库名
 ? ?private static final String url = "jdbc:mysql://localhost:3306/demo? ?  useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf8";
 ? ?//mysql用户名
 ? ?private static final String userName = "root";
 ? ?//mysql登录密码
 ? ?private static final String password = "200297";
?
 ? ?// 获取数据库连接
 ? ?public static java.sql.Connection getConnection() {
 ? ? ? ?java.sql.Connection con = null;
 ? ? ? ?try {
 ? ? ? ? ? ?Class.forName(driver);
 ? ? ? ? ? ?con = DriverManager.getConnection(url, userName, password);
 ? ? ?  } catch (ClassNotFoundException | SQLException e) {
 ? ? ? ? ? ?e.printStackTrace();
 ? ? ?  }
 ? ? ? ?return con;
 ?  }
 ? ?// 数据库查询,返回结果集
 ? ?public static ResultSet query(Connection con, PreparedStatement st, ResultSet rs, String sql
 ? ? ? ? ?  , Object[] params) throws SQLException {
 ? ? ? ?st = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
 ? ? ? ?if (params != null) {
 ? ? ? ? ? ?for (int i = 0; i < params.length; i++) {
 ? ? ? ? ? ? ? ?st.setObject(i + 1, params[i]);
 ? ? ? ? ?  }
 ? ? ?  }
 ? ? ? ?rs = st.executeQuery();
 ? ? ? ?return rs;
 ?  }
?
 ? ?// 数据库增删改
 ? ?public static int update(Connection con, String sql
 ? ? ? ? ?  , Object[] params, ResultSet rs, PreparedStatement st) throws SQLException {
 ? ? ? ?st = con.prepareStatement(sql);
 ? ? ? ?for (int i = 0; i < params.length; i++) {
 ? ? ? ? ? ?st.setObject(i + 1, params[i]);
 ? ? ?  }
 ? ? ? ?return st.executeUpdate();
 ?  }
 ? ?// 关闭数据库连接
 ? ?public static void release(Connection con, Statement st, ResultSet rs) {
 ? ? ? ?boolean flag = true;
?
 ? ? ? ?if (rs != null) {
 ? ? ? ? ? ?try {
 ? ? ? ? ? ? ? ?rs.close();
 ? ? ? ? ? ? ? ?rs = null;
 ? ? ? ? ?  } catch (SQLException e) {
 ? ? ? ? ? ? ? ?e.printStackTrace();
 ? ? ? ? ? ? ? ?flag = false;
 ? ? ? ? ?  }
 ? ? ?  }
?
 ? ? ? ?if (st != null) {
 ? ? ? ? ? ?try {
 ? ? ? ? ? ? ? ?st.close();
 ? ? ? ? ? ? ? ?st = null;
 ? ? ? ? ?  } catch (SQLException e) {
 ? ? ? ? ? ? ? ?e.printStackTrace();
 ? ? ? ? ? ? ? ?flag = false;
 ? ? ? ? ?  }
 ? ? ?  }
?
 ? ? ? ?if (con != null) {
 ? ? ? ? ? ?try {
 ? ? ? ? ? ? ? ?con.close();
 ? ? ? ? ? ? ? ?con = null;
 ? ? ? ? ?  } catch (SQLException e) {
 ? ? ? ? ? ? ? ?e.printStackTrace();
 ? ? ? ? ? ? ? ?flag = false;
 ? ? ? ? ?  }
 ? ? ?  }
 ?  }
}

使用数据库操作工具类完成增删改查

JDBCUtil 中工具分别为: getConnection获取数据库的连接、 query数据库的查询、 update数据库的增 删改、 release关闭数据库连接。

1.查询数据

public class Test2 {
 ? ?public static void main(String[] args) {
 ? ? ? ?Connection con = null;
 ? ? ? ?PreparedStatement st = null;
 ? ? ? ?ResultSet rs = null;
 ? ? ? ?try {
 ? ? ? ? ? ?con=JDBCUtil.getConnection();
 ? ? ? ? ? ?String sql = "SELECT * FROM friends WHERE id = ? AND name = ?";
 ? ? ? ? ? ?st = con.prepareStatement(sql);
 ? ? ? ? ? ?Object[] params = {2, "ljp"};
 ? ? ? ? ? ?rs = JDBCUtil.query(con, st, rs, sql, params);
 ? ? ? ? ? ?while (rs.next()) {
 ? ? ? ? ? ? ? ?int id = rs.getInt(1);
 ? ? ? ? ? ? ? ?String name = rs.getString(2);
 ? ? ? ? ? ? ? ?System.out.println(id + " " + name + " " );
 ? ? ? ? ?  }
 ? ? ?  } catch(SQLException e) {
 ? ? ? ? ? ?e.printStackTrace();
 ? ? ?  } finally {
 ? ? ? ? ? ?// 关闭数据库在finally里面
 ? ? ? ? ? ?JDBCUtil.release(con, st, rs);
 ? ? ?  }
 ?  }
?
}

运行结果:

?

2.修改数据

public class Test3 {
 ?  public static void main(String[] args) {
 ? ? ?  Connection con = null;
 ? ? ?  PreparedStatement st = null;
 ? ? ?  ResultSet rs = null;
 ? ? ?  try {
 ? ? ? ? ?  con = JDBCUtil.getConnection();
 ? ? ? ? ?  String sql = "UPDATE friends SET id= ? WHERE name = ?";
 ? ? ? ? ?  st = con.prepareStatement(sql);
 ? ? ? ? ?  //修改id为4的name
?           Object[] params = {4,"www"};
 ? ? ? ? ?  JDBCUtil.update(con,sql,params,rs,st);
 ? ? ? ? ?  //查询并且输出修改后的结果
 ? ? ? ? ?  String sql1= "SELECT * FROM friends";
 ? ? ? ? ?  rs=JDBCUtil.query(con,st,rs,sql1,null);
 ? ? ? ? ?  while (rs.next()) {
 ? ? ? ? ? ? ?  int id = rs.getInt("id");
 ? ? ? ? ? ? ?  String name = rs.getString("name");
 ? ? ? ? ? ? ?  String sex = rs.getString("sex");
 ? ? ? ? ? ? ?  System.out.println(id+" "+name+" "+sex);
 ? ? ? ? ?  }
 ? ? ? ? ?  }catch(SQLException e) {
 ? ? ? ? ? ? ?  e.printStackTrace();
 ? ? ? ? ?  } finally{
 ? ? ? ? ? ? ?  // 关闭数据库在finally里面
 ? ? ? ? ? ? ?  JDBCUtil.release(con, st, rs);
 ? ? ? ? ?  }
 ? ? ?  }
 ?  }

运行结果:

?

3.删除数据

public class Test1 {
 ?  public static void main(String[] args) {
 ? ? ?  Connection con = null;
 ? ? ?  PreparedStatement st = null;
 ? ? ?  ResultSet rs = null;
 ? ? ?  try {
 ? ? ? ? ?  con=JDBCUtil.getConnection();
 ? ? ? ? ?  String sql = "DELETE FROM friends WHERE id = ?";
 ? ? ? ? ?  st = con.prepareStatement(sql);
 ? ? ? ? ? //删除第6个字段
?           Object[] params = {6};
 ? ? ? ? ?  JDBCUtil.update(con, sql,params, rs, st);
 ? ? ? ? ?  String sql1="SELECT *FROM friends";
 ? ? ? ? ?  rs=JDBCUtil.query(con, st, rs, sql1, null);
 ? ? ? ? ?  while (rs.next()) {
 ? ? ? ? ? ? ?  int id = rs.getInt(1);
 ? ? ? ? ? ? ?  String name = rs.getString(2);
 ? ? ? ? ? ? ?  String sex =rs.getString(3);
 ? ? ? ? ? ? ?  System.out.println(id + " " + name +" " +sex);
 ? ? ? ? ?  }
 ? ? ?  } catch(SQLException e) {
 ? ? ? ? ?  e.printStackTrace();
 ? ? ?  } finally {
 ? ? ? ? ?  // 关闭数据库在finally里面
 ? ? ? ? ?  JDBCUtil.release(con, st, rs);
 ? ? ?  }
 ?  }
}

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-07-21 21:37:17  更:2022-07-21 21:38:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:37:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码