JDBC (Java DataBase Connectivity) Java连接Oracle数据库

JDBC是由Sun MicroSystem公司提供,实际上是API应用程序编程接口
API Application Programming Interface 应用程序接口
SQL Structured Query Language 结构化查询语言
SQL端口:1433
Mysql端口:3306
Oracle端口:1521
大致上有4种驱动类型
① JDBC - ODBC桥驱动
② 纯Java驱动 (学习)
③ 本地API部分Java驱动
④ JDBC网络纯Java驱动
注意:操作方式基本相同,只是加载不同驱动程序
Java.sql包是Java内置的包,用于与数据库进行通信的类和接口
一些常用接口有:
Connection 连接对象,用于与数据库取得连接
Driver 用于创建连接(Connection)对象
Statement 语句对象,用于执行SQL语句,并将数据检索到结果集(ResultSet)对象中
PreparedStatement 预编语句对象,用于执行预编编译的SQL语句,执行效率比Statement高
CallableStatement 存储过程语句对象,用于调动执行存储过程
ResultSet 结果集对象,包括执行SQL语句后返回的数据集合
SQLException 数据库异常,继承于Java.lang.Exception
DriverManager 驱动程序管理类,用于加载和卸载各种驱动程序,并建立与数据库的连接
Date 将SQL日期格式转换成Java日期格式的方法
TimeState 表示一个时间戳,能精确到纳秒
JDBC操作步骤:
① 导入java.sql包
② 纯Java驱动方式
③ 加载并注册驱动程序
④ 创建connection对象
⑤ 创建Statement对象
⑥ 执行SQL语句
⑦ 关闭Statement对象
⑧ 关闭connection对象

public void testOracle()
    {
        Connection con = null;// 创建一个数据库连接
        PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
        ResultSet result = null;// 创建一个结果集对象
        try
        {        Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
            System.out.println("开始尝试连接数据库!");
            String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:DBname";// 127.0.0.1是本机地址,DBname是精简版Oracle的默认数据库名
            String user = "root";// 用户名,系统默认的账户
            String password = "123456";// 你安装时选设置的密码
            con = DriverManager.getConnection(url, user, password);// 获取连接
            System.out.println("连接成功!");8
            String sql = "select * from student where name=?";// 预编译语句,“?”占位符代表参数
            pre = con.prepareStatement(sql);// 实例化预编译语句
            pre.setString(1, "double");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
            result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
            while (result.next())
                // 当结果集不为空时
                System.out.println("学号:" + result.getInt("id") + "姓名:"
                    + result.getString("name"));
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
      // 逐一将上面的几个对象关闭,因为不关闭的话会响性能、并且占用资源
            // 注意关闭的顺序,最后使用的最先关闭
                if (result != null)
                    result.close();
                if (pre != null)
                    pre.close();
                if (con != null)
                    con.close();
                System.out.println("数据库连接已关闭!");
            }
            catch (Exception e)
           {
                e.printStackTrace();
            }
        }
    }
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值