Java中和数据库之间的交互JDBC的一些操作

JDBC有一个核心类和四个接口

核心类

DriverManager:负责管理JDBC驱动程序。使用JDBC驱动程序之前,必须先将驱动程序加载并注册后才可以使用,同时提供方法来建立与数据库的连接。

接口

Connection  : 特定数据库的连接(会话)。在连接上下文中执行SQL语句并返回结果

PreparedStatment :表示预编译的 SQL 语句的对象。

Statment:用于执行静态 SQL 语句并返回它所生成结果的对象。

ResultSet:表示数据库结果集的数据表

 

如何创建JDBC的应用七个步骤

1,载入JDBC驱动程序

2,定义连接URL

3,建立连接

4,创建PreparedStatment或者Statment语句

5,执行查询或者更新语句

6,对查询或者更新的语句进行处理

7,关闭连接

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/*
 * 创建JDBC应用程序的步骤
 1.载入JDBC驱动程序
 2.定义连接URL
 3.建立连接
 4.创建Statement对象
 5.执行查询或更新
 6.结果处理
 7.关闭连接
 */
public class TestJDBC {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            // 1.加载JDBC的驱动程序
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
            // 2.定义URL
            String url = "jdbc:oracle:thin:@10.25.101.30:1521:orcl"; // orcl为数据库的SID
            String user = "scott";
            String password = "tiger";
            // 3.连接数据库
            conn = DriverManager.getConnection(url, user, password);
            // 判断当前连接是否关闭,如果返回false表示当前连接正在连接状态
            System.out.println(conn.isClosed());
            // 创建Statment对象
            stmt = conn.createStatement();
            // 定义SQL语句
            String sql = "select * from emp where empno = 7788 ";
            // 执行SQL查询语句
            rs = stmt.executeQuery(sql);
            // 处理结果
            while (rs.next()) {
                System.out.println(rs.getInt("empno") + ","
                        + rs.getString("ename") + "," + rs.getDouble("sal"));
            }

        } catch (InstantiationException | IllegalAccessException
                | ClassNotFoundException | SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                conn.close();
                System.out.println(conn.isClosed()); // 判断当前连接是否关闭,如果返回false表示当前连接正在连接状态
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                try {
                    if (rs != null) {
                        rs.close();
                    }
                    if (stmt != null) {
                        stmt.close();
                    }
                    if (conn != null) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

    }
}
 

 

你可能感兴趣的:(Java高级)