文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java编程 JDBC连接Oracle数据库

2023-09-27 14:38

关注

        JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问oracle数据库又专门写一个程序。使开发人员能够更便捷的编写数据库应用程序。

         使用JDBC连接数据库简而言之包含了以下四个部分:加载驱动、连接数据库、创建statement对象、执行SQL命令。

1、加载驱动 

        JDBC在连接数据库前需要先加载驱动,通过java.lang.Class类的forName()实现驱动的加载。

Class.forName("oracle.jdbc.driver.OracleDriver");

2、连接数据库

        通过java.sql.DriverManager中的getConnection()方法获取一个Connection对象,即为创建一个数据库连接。

Connection conn = DriverManager.getConnection(url,username,passwd);//url示例jdbc:oracle:thin:@127.0.0.1:1521:orcljdbc:使用jdbc连接协议oracle:使用oracle数据库thin:oracle数据库连接模式,thin模式不需要安装客户端,oci模式需要安装客户端@127.0.0.1:数据库地址1521:数据库端口orcl:数据库实例名

3、创建Statement对象

        在执行SQL语句前需要先创建statement对象。

Statement stmt = conn.createStatement();

4、执行SQL

        Statement有三种执行SQL语句的方法:

①executeQuery  此方法用来执行select语句,返回查询到的结果集。

②executeUpdate  此方法用来执行insert、update或delete语句以及SQL DDL(数据定义语言)语句,例如create table和drop table。insert、update或delete语句的效果是修改表中零行或多行中的一列或多列。返回值为一个整数,指受到影响的行数(即更新计数)。对于create table或drop table等不操作行的语句,返回值总为零。

③execute  此方法可用于执行任意SQL语句,返回值为boolean型,执行结果为ResultSet返回true,否则返回false。

String query="select * from user where id=1";ResultSet rs=stmt.executeQuery(query);

        通过对ResultSet结果集进行索引获取详细数据信息,或是使用get方法获取指定的字段信息。

while(rs.next()){    System.out.println("编号为:"+rs.getInt("id")+"姓名为:"+rs.getString("username"));}

        在使用完数据库连接后需要立马释放连接,否则时间长时间未关闭连接会导致服务器资源占用,甚至出现宕机状态。

rs.close();  //关闭ResultSet对象stmt.close();  //关闭Statement对象conn.close();  //关闭Connection对象

        完整JDBC连接Oracle数据库示例

import java.sql.*;public class jdbctest {public static void main(String[] args) {String url= "jdbc:oracle:thin:@127.0.0.1:1521:myorcl";String user="sys as sysdba";String password="123";try {Class.forName("oracle.jdbc.driver.OracleDriver");Connection conn= DriverManager.getConnection(url,user,password);System.out.println("successfully");Statement stmt=conn.createStatement();String query="select passwd from users where id=9";ResultSet rs=stmt.executeQuery(query);while(rs.next()){    System.out.println("编号为:"+rs.getInt("id")+"姓名为:"+rs.getString("username"));}rs.close();stmt.close();conn.close();} catch (Exception e) {e.printStackTrace();}}}

口令输入为‘sys as sysdba’,如果只输入sys则会报错java.sql.SQLException: ORA-28009: 应当以 SYSDBA 身份或 SYSOPER 身份建立 SYS 连接

来源地址:https://blog.csdn.net/weixin_49183673/article/details/128245291

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯