欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java如果通過jdbc操作連接oracle數(shù)據(jù)庫

 更新時間:2020年09月28日 09:44:04   作者:愛笑的berg  
這篇文章主要介紹了Java如果通過jdbc操作連接oracle數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1、jdbc

1) 含義:JDBC是java語言連接數(shù)據(jù)庫,Java Date Base Connectivity

2) jdbc的本質(zhì):在編程時java程序會去連接不同的數(shù)據(jù)庫,而每個數(shù)據(jù)庫的底層的實(shí)現(xiàn)原理是不同的,所以我們所編寫的程序應(yīng)該是面向一套規(guī)范去編寫的,這套java語言連接數(shù)據(jù)庫的規(guī)范就是jdbc

A、sun公司:

jdbc接口是一套由Sun公司制定的一套Class文件規(guī)范,用于規(guī)范程序員;

B、數(shù)據(jù)庫廠商:

編寫jdbc接口的實(shí)現(xiàn)類,并將這些實(shí)現(xiàn)類打成jar包,并發(fā)布;這些jar包被稱為連接數(shù)據(jù)庫的驅(qū)動。

C、編程的程序員:

從各類型的數(shù)據(jù)庫官網(wǎng)上面下載jar包,并配置到環(huán)境變量Classpath中。若果沒有把class文件配置到環(huán)境變量classPath,那么代表你只有接口和調(diào)用數(shù)據(jù),而沒有接口的實(shí)現(xiàn)類,沒有實(shí)現(xiàn)類程序是無法運(yùn)行的。

3) oracle10gi下JDBC驅(qū)動包介紹:

Oracle 數(shù)據(jù)庫 10g 第 2 版 (10.2.0.1.0) JDBC 驅(qū)動程序針對所有平臺的 JDBC 瘦客戶端

classes12.jar     用于 JDK 1.2 和 JDK 1.3
classes12_g.jar    與 classes12.jar 一樣,除了類通過“javac -g”編譯并包含一些跟蹤信息
classes12dms.jar   與 classes12.jar 一樣,除了另外包含支持 Oracle 動態(tài)監(jiān)視服務(wù)的代碼。
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 動態(tài)監(jiān)視服務(wù)的代碼。
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 通知服務(wù) (ONS) 后臺程序使用。
demo.tar 或 demo.zip 包含 JDBC 示例程序

|示例:java連接數(shù)據(jù)庫進(jìn)行查詢操作|

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驅(qū)動程序
  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、實(shí)例化預(yù)編譯語句
  prs=con.prepareStatement(sql);
  } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  //步驟4、執(zhí)行查詢
  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、處理查詢結(jié)果集
  while(rs.next()){
  System.out.println("姓名:"+rs.getString("xingming")+"\n"+"生日:"+rs.getString("birthday"));
  }
 } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }finally{
  //逐一將上面的幾個對象關(guān)閉,不關(guān)閉的話會影響性能、并且占用資源
  //注意關(guān)閉的順序,最后使用的最先關(guān)閉
  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();
  }
 }
 }
}

|示例:通過配置文件連接數(shù)據(jù)庫進(jìn)行增刪改查|

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 {
 //創(chuàng)建輸入流
 FileReader fReader=null;
 try {
  fReader=new FileReader("src/JDBC/db.properties");
 } catch (FileNotFoundException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 //創(chuàng)建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表進(jìn)行修改操作
 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();
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java反射 JavaBean對象自動生成插入,更新,刪除,查詢sql語句操作

    Java反射 JavaBean對象自動生成插入,更新,刪除,查詢sql語句操作

    這篇文章主要介紹了Java反射 JavaBean對象自動生成插入,更新,刪除,查詢sql語句操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • SpringBoot?AOP中JoinPoint的使用方式和通知切點(diǎn)表達(dá)式

    SpringBoot?AOP中JoinPoint的使用方式和通知切點(diǎn)表達(dá)式

    這篇文章主要介紹了SpringBoot?AOP中JoinPoint的使用方式和通知切點(diǎn)表達(dá)式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 詳解用Spring Boot Admin來監(jiān)控我們的微服務(wù)

    詳解用Spring Boot Admin來監(jiān)控我們的微服務(wù)

    這篇文章主要介紹了用Spring Boot Admin來監(jiān)控我們的微服務(wù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java實(shí)現(xiàn)批量導(dǎo)出導(dǎo)入數(shù)據(jù)及附件文件zip包

    Java實(shí)現(xiàn)批量導(dǎo)出導(dǎo)入數(shù)據(jù)及附件文件zip包

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)批量導(dǎo)出導(dǎo)入數(shù)據(jù)及附件文件zip包的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一
    2022-09-09
  • 淺談virtual、abstract方法和靜態(tài)方法、靜態(tài)變量理解

    淺談virtual、abstract方法和靜態(tài)方法、靜態(tài)變量理解

    下面小編就為大家?guī)硪黄獪\談virtual、abstract方法和靜態(tài)方法、靜態(tài)變量理解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Springboot處理配置CORS跨域請求時碰到的坑

    Springboot處理配置CORS跨域請求時碰到的坑

    本篇文章介紹了我在開發(fā)過程中遇到的一個問題,以及解決該問題的過程及思路,通讀本篇對大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Spring筆記-@Order注解和Ordered接口解析

    Spring筆記-@Order注解和Ordered接口解析

    這篇文章主要介紹了Spring筆記-@Order注解和Ordered接口,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • MyBatis-Plus updateById不更新null值的方法解決

    MyBatis-Plus updateById不更新null值的方法解決

    用Mybatis-Plus的updateById()來更新數(shù)據(jù)時,無法將字段設(shè)置為null值,更新后數(shù)據(jù)還是原來的值,本文就來詳細(xì)的介紹一下解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • spring security認(rèn)證異常后返回中文提示的問題

    spring security認(rèn)證異常后返回中文提示的問題

    這篇文章主要介紹了spring security認(rèn)證異常后返回中文提示的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Java中String對象的深入理解

    Java中String對象的深入理解

    String對象作為Java語言中重要的數(shù)據(jù)類型之一,是我們平時編碼最常用的對象之一,因此也是內(nèi)存中占據(jù)空間最大的一個對象,然而很多人對它是一知半解,今天我們就來好好聊一聊這個既熟悉又陌生的String,需要的朋友可以參考下
    2023-05-05

最新評論