六、Java的JDBC编程

六、Java的JDBC编程

1. JDBC必备知识

  • JDBC是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。

  • JDBC工作原理:

在这里插入图片描述

  • JDBC的优势:
    • Java语言访问数据库操作完全面向抽象接口编程
    • 开发数据库应用不用限定在特定数据库厂商的API
    • 程序的可移植性大大增强

2. JDBC的使用

JDBC使用步骤:

  1. 创建数据库连接Connection

    • DriverManager创建
    • DataSource获取
    • 区别:
      • DriverManager类来获取的Connection连接,是无法重复利用的,每次使用完以后释放资源
        时,通过connection.close()都是关闭物理连接。
      • DataSource提供连接池的支持。连接池在初始化时将创建一定数量的数据库连接,这些连接
        是可以复用的,每次使用完数据库连接,释放资源调用connection.close()都是将
        Conncetion连接对象回收。
  2. 创建操作命令Statement

    • Statement
      • 用于执行不带参数的简单SQL语句
    • PreparedStatement
      • 用于执行带或者不带参数的SQL语句
      • SQL语句会预编译在数据库系统
      • 执行速度快于Statement对象
    • CallableStatement
      • 用于执行数据库存储过程的调用
    • PreparedStatement的优势:
      • 参数化SQL查询
      • 性能高
      • SQL预编译
      • 阻止常见SQL注入攻击
      • 占位符不能使用多值
      • 占位符下标从1开始
  3. 使用操作命令来执行SQL

    // 查询操作
    preparedStatement.executeQuery();
    // 新增、修改、删除操作
    preparedStatement.executeUpdate();
    
  4. 处理结果集ResultSet

    while (resultSet.next()) {
      int xxx = resultSet.getInt("xxx");
      String yyy= resultSet.getString("yyy");
    ...
    }
    
  5. 释放资源

    try {
    	if(resultSet != null){
            resultSet.close();
     	}
    	if(preparedStatement != null){
            preparedStatement.close();
    	}
    	if(connection != null){
            connection.close();
     	}
    } catch (SQLException e) {
    	e.printStackTrace();
    	throw new RuntimeException("数据库错误");
    }
    
发布了16 篇原创文章 · 获赞 2 · 访问量 568

猜你喜欢

转载自blog.csdn.net/ilovestudy_/article/details/104356078