一篇文章带你学习JDBC(Java Database Connectivity)

傲渊山岳  金牌会员 | 2024-9-8 17:38:00 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 847|帖子 847|积分 2541

什么是JDBC?

JDBC(Java Database Connectivity,Java数据库毗连)是一个Java API,它提供了一种尺度方法,答应Java步调毗连到数据库并实验SQL语句。它是一个独立于数据库的API,这意味着开辟者可以使用雷同的代码毗连到不同类型的数据库体系。
JDBC的用途



  • 1.提供同一的数据库访问方式:JDBC定义了一套尺度的API,使得Java步调可以以一种同一的方式访问不同的数据库体系,降低了学习和开辟的难度。
  • 2.简化数据库操作:JDBC API提供了丰富的方法来实验SQL语句和管理数据库毗连,极大地简化了数据库编程的复杂性。

  • 3.支持变乱处理和批处理:JDBC支持变乱控制和批处理操作,进步了数据处理的效率和可靠性。
  • 4.增强代码的可移植性:由于JDBC是基于Java语言的,以是使用JDBC编写的数据库访问代码具有很好的跨平台性和可移植性。
JDBC API包罗以下几个主要组件:



  • JDBC Driver:一个答应Java应用步调与数据库进行通讯的驱动步调。不同的数据库需要不同的JDBC驱动步调。
  • Connection:表示与特定命据库的毗连。通过这个毗连,应用步调可以发送SQL语句并接收结果。
  • Statement:用于创建SQL语句和实验它们的对象。
  • PreparedStatement:是Statement的一个子类,答应预编译SQL语句,这可以进步性能,并且可以防止SQL注入攻击。
  • CallableStatement:用于实验存储过程。
  • ResultSet:包含实验查询后返回的数据。
  • DatabaseMetaData:提供了关于数据库的信息,好比表名、列名等。
使用步调:

1.导入JDBC类库:在步调中包含数据库编程所需的JDBC类。
2.注册JDBC驱动:初始化驱动步调,以便可以打开与数据库的通讯通道。
3.打开毗连:使用DriverManager.getConnection()方法创建一个Connection对象,它表示与数据库的物理毗连。
4.实验查询:使用类型为Statement或PreparedStatement的对象来构建和提交SQL语句到数据库。
5.处理结果集:使用ResultSet对象来获取查询结果。
6.关闭资源:明白地关闭所有数据库资源,以镌汰资源浪费。
注意:在使用JDBC之前,需要确保在Mysql数据库中创建本身所需要的数据库对象。
代码示例

  1. package JDBC;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. public class JdbcExample {
  8.     public static void main(String[] args) {
  9.         // 数据库连接信息
  10.         String url = "jdbc:mysql://localhost/userdatabase";
  11.         //"jdbc:mysql://localhost:这是数据库服务器的主机名。/userdatabase这是要连接的数据库名称。
  12.         String user = "root";
  13.         String password = "123456";
  14.         //user和password,它们用于存储连接到数据库所需的用户名和密码。
  15.         Connection connection = null;
  16.         Statement statement = null;
  17.         ResultSet resultSet = null;
  18.         try {
  19.             // 加载并注册JDBC驱动
  20.             Class.forName("com.mysql.cj.jdbc.Driver");
  21.             // 建立数据库连接
  22.             connection = DriverManager.getConnection(url, user, password);
  23.             // 创建Statement对象
  24.             statement = connection.createStatement();
  25.             // 执行SQL查询
  26.             String sql = "SELECT * FROM UserData";
  27.             resultSet = statement.executeQuery(sql);
  28.             // 处理结果集
  29.             while (resultSet.next()) {
  30.                 String name = resultSet.getString("name");
  31.                 String pwd = resultSet.getString("pwd");
  32.                 System.out.println("Name: " + name + ", Password: " + pwd);
  33.             }
  34.         } catch (ClassNotFoundException e) {
  35.             e.printStackTrace();
  36.         } catch (SQLException e) {
  37.             e.printStackTrace();
  38.         } finally {
  39.             // 关闭资源
  40.             try {
  41.                 if (resultSet != null) resultSet.close();
  42.                 if (statement != null) statement.close();
  43.                 if (connection != null) connection.close();
  44.             } catch (SQLException e) {
  45.                 e.printStackTrace();
  46.             }
  47.         }
  48.     }
  49. }
复制代码


  • 输出结果(这里我是已经将查询的信息存入数据库中)


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

傲渊山岳

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表