Java連接操作Oracle數(shù)據(jù)庫(kù)代碼詳解
廢話不多說(shuō)了,直接給大家貼關(guān)鍵代碼了,具體代碼如下所示:
package com.sp.test; import java.sql.*; import java.util.*; public class Text_lianxi extends Thread { public void run() { try { yunxing(); Thread.sleep(10000); } catch (InterruptedException e) { // TODO 自動(dòng)生成的 catch 塊 e.printStackTrace(); } } //輸入函數(shù) public String[] shuru() { System.out.println("請(qǐng)按順序依次輸入考生的詳細(xì)信息:\n考試等級(jí),身份證號(hào),準(zhǔn)考證號(hào),考生姓名,考試地點(diǎn),考試成績(jī)"); Scanner sc = new Scanner(System.in); String[] str = new String[6]; for (int i = 0; i < str.length; i++) { str[i] = sc.nextLine(); } System.out.println("信息輸入完畢"); sc.close(); return str; } //查詢函數(shù) public String chaxun() { System.out.println("請(qǐng)選擇查詢方式:\n a:身份證號(hào) b:準(zhǔn)考證號(hào)"); Scanner sc = new Scanner(System.in); String s = sc.nextLine().toLowerCase(); String str = ""; if (s.equals("a")) { System.out.println("請(qǐng)輸入查詢號(hào)碼:"); String st = sc.nextLine(); if (st.length() == 18) { str = "select * from examstudent where idcard = " + st; } else { System.out.println("身份證位數(shù)輸入有誤"); } } else if (s.equals("b")) { System.out.println("請(qǐng)輸入查詢號(hào)碼:"); String st = sc.nextLine(); if (st.length() == 15) { str = "select * from examstudent where examcard = " + st; } else { System.out.println("準(zhǔn)考證位數(shù)輸入有誤"); } } else { System.out.println("你輸入的查詢方式有誤,請(qǐng)重新進(jìn)入程序"); } sc.close(); return str; } //刪除函數(shù) public String shanchu() { Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)輸入考生的準(zhǔn)考證號(hào):"); String str = sc.nextLine(); if (str.length() != 15) { System.out.println("準(zhǔn)考證號(hào)輸入有誤,請(qǐng)重新輸入"); } sc.close(); return str; } //運(yùn)行 public void yunxing() { synchronized ("") { try { Connection conn = null; // 鏈接數(shù)據(jù)庫(kù) Class.forName("oracle.jdbc.driver.OracleDriver"); String strURL = "jdbc:oracle:thin:@localhost:1521:SP"; conn = DriverManager.getConnection(strURL, "test", "123"); System.out.println(Thread.currentThread().getName()+"數(shù)據(jù)庫(kù)連接成功"); Statement st = conn.createStatement(); // 選擇功能 Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)選擇功能:\n 1:輸入信息 2:查詢信息 3:刪除信息"); int num = sc.nextInt(); if (num == 1) { // 輸入信息 String[] str = shuru(); if (str[1].length() != 18 && str[2].length() != 15) { System.out.println("號(hào)碼位數(shù)有誤(身份證號(hào)18位,準(zhǔn)考證號(hào)15位),請(qǐng)重新進(jìn)入系統(tǒng)輸入"); } else { st.execute("insert into examstudent values(fiowid.nextval,to_number(" + str[0] + "),'" + str[1] + "','" + str[2] + "','" + str[3] + "','" + str[4] + "'," + "to_number(" + str[5] + "))"); System.out.println("信息錄入成功"); } } else if (num == 2) { // 查詢 String str1 = chaxun(); ResultSet r = st.executeQuery(str1); // 輸出查詢結(jié)果 if (r.next()) { System.out.println("考試等級(jí):" + r.getString(2) + "\n身份證號(hào):" + r.getString(3) + "\n準(zhǔn)考證號(hào):" + r.getString(4) + "\n考生姓名:" + r.getString(5) + "\n考試地區(qū):" + r.getString(6) + "\n考試成績(jī):" + r.getString(7)); } else { System.out.println("查無(wú)此人,請(qǐng)重新進(jìn)入系統(tǒng)"); } r.close(); } else if (num == 3) { // 刪除 String str2 = shanchu(); int a = st.executeUpdate("delete examstudent where examcard = " + str2); if (a > 0) { System.out.println("刪除成功"); } else { System.out.println("查無(wú)此人,請(qǐng)重新進(jìn)入程序"); } } else { System.out.println("抱歉,暫未開放此功能"); } sc.close(); st.close(); } catch (Exception e) { e.printStackTrace(); } } } public static void main(String[] args) { Text_lianxi lx1 = new Text_lianxi(); // Text_lianxi lx2 = new Text_lianxi(); // Text_lianxi lx3 = new Text_lianxi(); lx1.setName("窗口1"); lx1.start(); // lx2.setName("窗口2"); // lx2.start(); // lx3.setName("窗口3"); // lx3.start(); } }
開始運(yùn)行:
信息輸入: 身份證號(hào)查詢:
準(zhǔn)考證號(hào)查詢: 信息刪除:
輸入錯(cuò)誤信息:
以上所述是小編給大家介紹的Java連接操作Oracle數(shù)據(jù)庫(kù)代碼詳解的全部敘述,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
IDEA使用JDBC安裝配置jar包連接MySQL數(shù)據(jù)庫(kù)
這篇文章介紹了IDEA使用JDBC安裝配置jar包連接MySQL數(shù)據(jù)庫(kù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01SpringBoot @PostConstruct和@PreDestroy的使用說(shuō)明
這篇文章主要介紹了SpringBoot @PostConstruct和@PreDestroy的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Spring AOP如何自定義注解實(shí)現(xiàn)審計(jì)或日志記錄(完整代碼)
這篇文章主要介紹了Spring AOP如何自定義注解實(shí)現(xiàn)審計(jì)或日志記錄(完整代碼),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12Java實(shí)現(xiàn)讀取和寫入properties文件
這篇文章主要介紹了Java實(shí)現(xiàn)讀取和寫入properties文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Java中spring boot 字符串判斷是否為空方法小結(jié)
這篇文章主要介紹了Java中spring boot字符串判斷是否為空,通過(guò)安裝依賴,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-11-11MAC算法之消息摘要算法HmacMD5的實(shí)現(xiàn)
這篇文章主要介紹了MAC算法之消息摘要算法HmacMD5的實(shí)現(xiàn)的相關(guān)資料,這里提供實(shí)例,幫助大家學(xué)習(xí)理解這部分知識(shí),需要的朋友可以參考下2017-08-08