Java如果通过jdbc操作连接oracle数据库

 更新时间:2020年09月28日 09:44:04   作者:爱笑的berg  
这篇文章主要介绍了Java如果通过jdbc操作连接oracle数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、jdbc

1) 含义:JDBC是java语言连接数据库,Java Date Base Connectivity

2) jdbc的本质:在编程时java程序会去连接不同的数据库,而每个数据库的底层的实现原理是不同的,所以我们所编写的程序应该是面向一套规范去编写的,这套java语言连接数据库的规范就是jdbc

A、sun公司:

jdbc接口是一套由Sun公司制定的一套Class文件规范,用于规范程序员;

B、数据库厂商:

编写jdbc接口的实现类,并将这些实现类打成jar包,并发布;这些jar包被称为连接数据库的驱动。

C、编程的程序员:

从各类型的数据库官网上面下载jar包,并配置到环境变量Classpath中。若果没有把class文件配置到环境变量classPath,那么代表你只有接口和调用数据,而没有接口的实现类,没有实现类程序是无法运行的。

3) oracle10gi下JDBC驱动包介绍:

Oracle 数据库 10g 第 2 版 (10.2.0.1.0) JDBC 驱动程序针对所有平台的 JDBC 瘦客户端

classes12.jar     用于 JDK 1.2 和 JDK 1.3
classes12_g.jar    与 classes12.jar 一样,除了类通过“javac -g”编译并包含一些跟踪信息
classes12dms.jar   与 classes12.jar 一样,除了另外包含支持 Oracle 动态监视服务的代码。
classes12dms_g.jar 与 classes12dms.jar 一样,除了类通过“javac -g”编译并包含一些跟踪信息。

ojdbc14.jar     用于 JDK 1.4 和 1.5 的类
ojdbc14_g.jar    与 ojdbc14.jar 一样,除了类通过“javac -g”编译并包含一些跟踪信息。
ojdbc14dms.jar   与 ojdbc14.jar 一样,除了另外包含支持 Oracle 动态监视服务的代码。
ojdbc14dms_g.jar  与 ojdbc14dms.jar 一样,除了类通过“javac -g”编译并包含一些跟踪信息。
orai18n.jar      用于 JDK 1.2、1.3、1.4 和 1.5 的 NLS 类。该 jar 文件代替旧的 nls_charset jar/zip 文件。
ons.jar        供纯 Java 客户端 Oracle 通知服务 (ONS) 后台程序使用。
demo.tar 或 demo.zip 包含 JDBC 示例程序

|示例:java连接数据库进行查询操作|

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

public class JDBCTest01 {
 public static void main(String[] args) {
 Connection con=null;
 PreparedStatement prs=null;
 ResultSet rs=null;
 try {
  //步骤1、加载oracle驱动程序
  Class.forName("oracle.jdbc.OracleDriver");
  String url="jdbc:oracle:thin:@10.125.4.55:1521:orcl";
  String user="zhangjunbo";
  String password="zjb123";
  String sql="select * from student where xuehao='2'";
  try {
  //步骤2、获取连接 
  con=DriverManager.getConnection(url, user, password);
  System.out.println(con);
  } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  try {
  //步骤3、实例化预编译语句
  prs=con.prepareStatement(sql);
  } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  //步骤4、执行查询
  try {
  rs=prs.executeQuery(sql);
  } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  
  
 } catch (ClassNotFoundException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 try {
  //步骤5、处理查询结果集
  while(rs.next()){
  System.out.println("姓名:"+rs.getString("xingming")+"\n"+"生日:"+rs.getString("birthday"));
  }
 } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }finally{
  //逐一将上面的几个对象关闭,不关闭的话会影响性能、并且占用资源
  //注意关闭的顺序,最后使用的最先关闭
  try {
  rs.close();
  } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  try {
  prs.close();
  } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  try {
  con.close();
  } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
 }
 }
}

|示例:通过配置文件连接数据库进行增删改查|

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;

public class JDBCTest02 {
 public static void main(String[] args) throws ClassNotFoundException, SQLException {
 //创建输入流
 FileReader fReader=null;
 try {
  fReader=new FileReader("src/JDBC/db.properties");
 } catch (FileNotFoundException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 //创建map集合对象
 Properties properties=new Properties();
 //加载(将输入流中的资源加载到属性类对象中) 
 try {
  properties.load(fReader);
 } catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 String driver=properties.getProperty("driver");
 String url=properties.getProperty("url");
 String username=properties.getProperty("username");
 String password=properties.getProperty("password");
 Class.forName(driver);
 Connection connection=DriverManager.getConnection(url, username, password);
 //对student表进行修改操作
 String sql="update student set xingming=? where xuehao=?";
 PreparedStatement pre=connection.prepareStatement(sql);
 pre.setString(1,"纷纷");
 pre.setString(2, "3");
 String sqlInsert="insert into student values(20,'寂静','男','','12000',3,20,21)";
 PreparedStatement pre2=connection.prepareStatement(sqlInsert);
 int insertInt=pre2.executeUpdate();
 int updateInt=pre.executeUpdate();
 System.out.println(updateInt+insertInt);
 pre.close();
 connection.close();
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • eclipse配置tomcat10的详细步骤总结

    eclipse配置tomcat10的详细步骤总结

    今天给大家带来的是关于Java的相关知识,文章围绕着eclipse配置tomcat10的详细步骤展开,文中有非常详细的介绍及图文示例,需要的朋友可以参考下
    2021-06-06
  • java中循环遍历删除List和Set集合中元素的方法(推荐)

    java中循环遍历删除List和Set集合中元素的方法(推荐)

    下面小编就为大家带来一篇java中循环遍历删除List和Set集合中元素的方法(推荐)。小编觉得挺不错的,在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • SpringBoot+RabbitMQ实现消息可靠传输详解

    SpringBoot+RabbitMQ实现消息可靠传输详解

    消息的可靠传输是面试必问的问题之一,保证消息的可靠传输主要在生产端开启 comfirm 模式,RabbitMQ 开启持久化,消费端关闭自动 ack 模式。本文将详解SpringBoot整合RabbitMQ如何实现消息可靠传输,需要的可以参考一下
    2022-05-05
  • 建议你使用LocalDateTime而不是Date哦

    建议你使用LocalDateTime而不是Date哦

    这篇文章主要介绍了建议你使用LocalDateTime而不是Date,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • SpringBoot整合websocket实现即时通信聊天

    SpringBoot整合websocket实现即时通信聊天

    这篇文章主要介绍了SpringBoot整合websocket实现即时通信聊天,实时通信是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流,需要的朋友可以参考下
    2022-05-05
  • SpringBoot无法连接redis的解决方案

    SpringBoot无法连接redis的解决方案

    这篇文章主要介绍了SpringBoot无法连接redis的解决方案,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-08-08
  • Maven setting.xml配置文件详解

    Maven setting.xml配置文件详解

    本篇文章主要介绍了Maven setting.xml 配置文件详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Spring AOP实现多数据源动态切换

    Spring AOP实现多数据源动态切换

    本文主要介绍了Spring AOP实现多数据源动态切换,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Java+opencv3.2.0实现模板匹配

    Java+opencv3.2.0实现模板匹配

    这篇文章主要为大家详细介绍了Java+opencv3.2.0实现模板匹配的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • java简单选择排序实例

    java简单选择排序实例

    这篇文章主要为大家详细介绍了java简单选择排序实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论