📜  JDBC-数据库连接(1)

📅  最后修改于: 2023-12-03 15:32:06.322000             🧑  作者: Mango

JDBC-数据库连接

JDBC(Java Database Connectivity)是Java语言中用于与各种关系型数据库进行连接和操作的API。通过JDBC,我们可以使用标准的SQL语句连接到任何支持JDBC的数据库,并且可以执行各种类型的SQL语句。

JDBC的工作原理

JDBC的工作原理很简单。我们可以将其分为以下几个步骤:

  1. 加载JDBC驱动程序
    首先,我们需要加载JDBC驱动程序,这是与数据库通信的必要步骤。在Java SE 6或更高版本中,JDBC驱动程序已包含在JRE中。但如果你使用的是旧版本的Java SE,则必须将JDBC驱动程序文件(class文件)手动添加到项目。

  2. 连接数据库
    连接数据库是通过调用DriverManager.getConnection()方法来实现的。该方法接收一个JDBC URL作为参数,该URL指定了要连接的数据库的地址(主机名、端口、数据库名称等)。

  3. 创建Statement
    连接打开后,我们需要创建Statement对象,用于执行SQL语句。可以通过Connection对象的createStatement()方法来创建Statement对象。

  4. 执行SQL语句
    执行SQL语句需要将SQL语句作为参数传递给Statement对象的executeUpdate()executeQuery()方法。executeUpdate()方法通常用于执行INSERT、UPDATE、DELETE操作,而executeQuery()方法用于执行SELECT查询。

  5. 处理结果
    对于SELECT语句,我们需要使用ResultSet对象来处理结果集。ResultSet对象包含了SELECT语句返回的结果行。可以使用ResultSet对象的各种方法(如getString()getInt()等)来获取结果集中的数据。

  6. 关闭连接
    使用完数据库连接后,需要关闭连接以释放资源。可以使用Connection对象的close()方法来关闭连接。

JDBC使用示例

下面是一个使用JDBC连接MySQL数据库并执行SELECT查询的示例代码。

import java.sql.*;

public class JdbcExample {
    public static void main(String[] args) {
        Connection con = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            // 加载MySQL驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            
            // 连接MySQL数据库
            String url = "jdbc:mysql://localhost:3306/test";
            String username = "root";
            String password = "123456";
            con = DriverManager.getConnection(url, username, password);
            
            // 创建Statement对象
            stmt = con.createStatement();
            
            // 执行查询语句
            String sql = "SELECT * FROM student";
            rs = stmt.executeQuery(sql);
            
            // 处理查询结果
            while (rs.next()) {
                String name = rs.getString("name");
                int age = rs.getInt("age");
                System.out.println("name: " + name + ", age: " + age);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭连接
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
总结

JDBC是Java语言中连接和操作关系型数据库的标准API。在实际应用中,我们经常使用JDBC来连接和操作数据库,并执行各种类型的SQL语句。虽然JDBC的使用步骤比较繁琐,但是它是与数据库通信的标准方式,掌握JDBC是非常重要的。