這篇文章給大家介紹利用IDEA怎么對Oracle數(shù)據(jù)庫進行增刪改查操作,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1.1 Java中的數(shù)據(jù)存儲技術(shù)
在Java中,數(shù)據(jù)庫存取技術(shù)可分為如下幾類:
1、JDBC直接訪問數(shù)據(jù)庫
2、JDO(Java Data Object)是Java對象持久化的新的規(guī)范,也是一個用于存取某種數(shù)據(jù)倉庫中的對象的標準化API。
3、第三方O/R 比如Hibernate,Mybatis等
JDBC是java訪問數(shù)據(jù)庫的基石,JDO、Hibernate、MyBatis,JDO,Hibernate、MyBatyis等只是更好的封裝的JDBC。
最近用idea連接Oracle數(shù)據(jù)庫 并且實現(xiàn)增刪改操作的時候,遇到的一些問題在這里跟大家分享一下。
首先,idea連接連接數(shù)據(jù)庫,都需要進行Connnection,也就是需要jdbc(Java database connection)
在進行連接之前,最先要做的事情就是導入對應所使用的數(shù)據(jù)庫的jar包。(常見的數(shù)據(jù)庫有MySQL,Oracle,SQLServer等等)
舉個例子:
我要連接Oracle數(shù)據(jù)庫,就到Oracle的官網(wǎng)上下載對應的jar包,當引入jar包下面出現(xiàn)小三角的時候,就說明導包成功?。?/p>
第一步成功,我們套用jdbc的代碼,基本上這個大家都能明白,咱也可以把它封裝在一個類里邊,必要的時候拿過來使用。
如下代碼所示: 注意看代碼的注釋!!
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; //與數(shù)據(jù)庫建立連接 public class ConnectionTest { //獲取連接的三個基本信息 private String dbURL = "jdbc:oracle:thin:@localhost:1521:orcl"; private String dbUser = "test"; private String dbPwd = "test"; // 獲取數(shù)據(jù)庫連接方法, 返回Connection對象 private Connection con = null; //創(chuàng)建數(shù)據(jù)庫連接 public Connection getDBConnect() { try { // 加載數(shù)據(jù)庫驅(qū)動 不同的數(shù)據(jù)庫下面這個驅(qū)動是不同的,這個千萬要注意!!! Class.forName("oracle.jdbc.driver.OracleDriver"); con = DriverManager.getConnection(dbURL, dbUser, dbPwd); } catch (Exception e) { System.out.println(e); } return con; } }
然后我們寫一個主方法測試一下:也就是程序執(zhí)行的出口,運行至下面這句話說明連接成功! 連接數(shù)據(jù)庫成功僅僅是第二步,接下來更重要的是進行對數(shù)據(jù)庫的增刪改操作!!
連接數(shù)據(jù)庫成功之后,就是為了下面增刪改操作服務的。注意看對數(shù)據(jù)庫進行插入操作的方法如下:(插入操作的方法要寫在Connection這個類里邊)
public void testInsert() { PreparedStatement ps1 = null; //使用該類執(zhí)行增刪改操作不會發(fā)生sql注入現(xiàn)象?。? //在進行插入操作的時候 保證你的表、以及對應的列名都存在 ?在這里表示占位符 String sql = "insert into t_user(ID,USERNAME,PASSWORD1,EMAIL) values(?,?,?,?)"; try { //1、預編譯sql語句 返回PreparedStatement的實例給ps1 con表示Connection的對象 ps1 = con.prepareStatement(sql); //2、填充占位符=? ps1.setString(1, "2"); ps1.setString(2, "ww"); ps1.setString(3, "12345"); ps1.setString(4, "907372669@qq.com"); //執(zhí)行操作 ps1.execute(); } catch (SQLException e) { e.printStackTrace(); } //資源的關閉 try { if (ps1 != null) ps1.close(); } catch (SQLException e) { e.printStackTrace(); } try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } }
插入方法寫好之后,在主函數(shù)里面調(diào)用即可實現(xiàn)插入操作,千萬注意自己寫的sql語句寫的有沒有存在問題。
同樣往下是刪除操作的方法(ps:注意觀察關閉資源的方法,將其寫在一個方法體里,減少代碼的重用性!!)
public void testUpdate() { PreparedStatement ps2 = null; //編寫sql語句 返回PreparedStatement的實例 String sql = "update T_USER set USERNAME = ? where ID = ? "; try { ps2 = con.prepareStatement(sql); //填充占位符=? ps2.setObject(1,"newgg"); ps2.setObject(2,"1"); //執(zhí)行 ps2.execute(); } catch (SQLException e) { e.printStackTrace(); } //實現(xiàn)資源關閉的方法 closeSources(ps2,con); } //實現(xiàn)資源關閉的方法如下: public void closeSources(PreparedStatement ps, Connection con) { try { if (ps != null) ps.close(); } catch (SQLException e) { e.printStackTrace(); } try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } }
接下來實現(xiàn)修改某一行的屬性的方法,邏輯實現(xiàn)同插入刪除一樣。
public void testUpdate() { //編寫sql語句 返回PreparedStatement的實例 PreparedStatement ps2 = null; String sql = "update T_USER set USERNAME = ? where ID = ? "; try { ps2 = con.prepareStatement(sql); //填充占位符=? ps2.setObject(1,"newgg"); ps2.setObject(2,"1"); //執(zhí)行 ps2.execute(); } catch (SQLException e) { e.printStackTrace(); } //實現(xiàn)資源的關閉 closeSources(ps2,con); }
套路都是一樣,細心的人會發(fā)現(xiàn),增刪改的操作步驟都是一樣的,但唯獨SQL語句不一樣,進而填充占位符的參數(shù)是不一樣的,利用Java 具有可變長參數(shù)的性質(zhì),我們可以寫出一個通用的增刪改的方法
//實現(xiàn)增刪改的通用操作 // sql占位符中的個數(shù)與可變長參數(shù)的長度一致!! public void insert_Delete_Update(String sql, Object ...args) { //預編譯SQL語句,返回PreparedStatement的實例 PreparedStatement ps4 = null; try { ps4 = con.prepareStatement(sql); //填充占位符 for(int i=0; i<args.length; i++) { ps4.setObject(i+1,args[i]); } //執(zhí)行 ps4.execute(); } catch (SQLException e) { e.printStackTrace(); } //實現(xiàn)資源的關閉 closeSources(ps4,con); }
于是進而實現(xiàn)代碼塊分離,SQL語句寫在另一個方法里,代碼實現(xiàn)如下:
public void test_Insert_Delete_Update() { String sql1 = "update T_USER set username = ? where ID = ? "; //仔細觀察這個調(diào)用的方法 username=“newQ” ID=“2”這兩個參數(shù)傳入這個方法里 insert_Delete_Update(sql1,"newQ","2"); }
在主函數(shù)調(diào)用該方法,即可實現(xiàn)對表的增刪改操作!
關于利用IDEA怎么對Oracle數(shù)據(jù)庫進行增刪改查操作就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
文章標題:利用IDEA怎么對Oracle數(shù)據(jù)庫進行增刪改查操作-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://chinadenli.net/article36/djjopg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、服務器托管、建站公司、云服務器、Google、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容