> 文章列表 > java数据库

java数据库

java数据库

什么是.java数据库

Java数据库(简称.JDBC)是Java程序员使用的标准API(应用程序接口),用于在Java应用程序和各种关系数据库之间建立连接和交互操作。这种技术使得Java编写的程序可以与任何基于SQL的关系数据库进行交互操作。

JDBC的优点

Java数据库连接所提供的最大优点就是跨平台。由于Java程序可以在不同的操作系统上运行,所以JDBC实现了在任何操作系统上都能够连接数据库。另外,JDBC也允许开发者在Java程序中获得数据并使用自己选择的方式进行操作,例如自定义表单等。

JDBC驱动

Java数据库连接包含4种驱动程序,这4种驱动程序可以用来连接不同类型的数据库。类型1的驱动程序是ODBC(开放式数据库连接),它使用ODBC桥来连接不同类型的数据库。类型2的驱动程序是Java本机驱动程序,完全使用Java编写。类型3的驱动程序是网络协议驱动程序,它使用特定的协议连接不同类型的数据库。类型4的驱动程序是本地协议驱动程序,可以直接连接各种数据库。

创建Java数据库连接

建立Java数据库连接的步骤如下:
1. 导入JDBC驱动程序到Java应用程序中
2. 使用DriverManager.registerDriver()方法注册驱动程序
3. 使用DriverManager.getConnection()方法来获取数据库连接
4. 使用Connection对象创建一个Statement对象
5. 使用Statement对象执行SQL查询并接收ResultSet结果集
6. 通过ResultSet对象获取数据

示例代码

以下示例代码演示如何连接到MySQL数据库并查询数据:

import java.sql.*;public class ConnectMySQL {   static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";     static final String DB_URL = "jdbc:mysql://localhost:3306/test";   static final String USER = "root";   static final String PASS = "root";      public static void main(String[] args) {      Connection conn = null;      Statement stmt = null;      try{         Class.forName(JDBC_DRIVER);         conn = DriverManager.getConnection(DB_URL,USER,PASS);         stmt = conn.createStatement();         String sql;         sql = "SELECT id, name, age FROM employee";         ResultSet rs = stmt.executeQuery(sql);         while(rs.next()){            int id  = rs.getInt("id");            String name = rs.getString("name");            int age = rs.getInt("age");            System.out.print("ID: " + id);            System.out.print(", Name: " + name);            System.out.println(", Age: " + age);         }         rs.close();         stmt.close();         conn.close();      } catch(SQLException se) {         se.printStackTrace();      } catch(Exception e) {         e.printStackTrace();      } finally {         try {            if(stmt!=null) stmt.close();         } catch(SQLException se2) {         }         try {            if(conn!=null) conn.close();         } catch(SQLException se) {            se.printStackTrace();         }      }   }}