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.3classes12_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(); }}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
