Jdbc連接數(shù)據(jù)庫(kù)基本步驟詳解
Jdbc連接數(shù)據(jù)庫(kù)的基本步驟,供大家參考,具體內(nèi)容如下
package demo.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JdbcConn { /** *JDBC (Java Data Base Connectivity) 數(shù)據(jù)庫(kù)連接,有以下幾個(gè)步驟: *1.加載驅(qū)動(dòng)程序 Class.forName(driver); *2.創(chuàng)建連接對(duì)象 Connection con = DriverManager.getConnection(url,username,password); *3.創(chuàng)建sql語(yǔ)句的執(zhí)行對(duì)象 *4.執(zhí)行sql語(yǔ)句 *5.對(duì)執(zhí)行結(jié)果進(jìn)行處理 *6.關(guān)閉相關(guān)連接對(duì)象 (順序跟聲明的順序相反)。 */ public static void main(String[] args) { String mysqlDriver = "com.mysql.jdbc.Driver"; String mysqlUrl = "jdbc:mysql://localhost:3306/mybase"; String mysqlUser = "root"; String mysqlPass = "111"; String oracleDriver = "oracle.jdbc.driver.OracleDriver"; String oracleUrl = "jdbc:oracle:thin:@localhost:1521:XE"; String userName = "zl"; String passWord = "444"; String sql = "select ename from emp"; try { Class.forName(oracleDriver); } catch (ClassNotFoundException e) { System.out.println("找不到驅(qū)動(dòng)"); e.printStackTrace(); } Connection conn = null; try { conn = DriverManager.getConnection(oracleUrl, userName,passWord ); } catch (SQLException e) { System.out.println("數(shù)據(jù)庫(kù)連接錯(cuò)誤"); e.printStackTrace(); } Statement st = null; try { st = conn.createStatement(); } catch (SQLException e) { System.out.println("創(chuàng)建數(shù)據(jù)庫(kù)聲明類(lèi)錯(cuò)誤"); e.printStackTrace(); } boolean flag = false; int rows = 0; ResultSet rs = null; try { flag = st.execute(sql); rows = st.executeUpdate(sql); rs = st.executeQuery(sql); while(rs.next()){ //通過(guò)列的標(biāo)號(hào)來(lái)查詢(xún)數(shù)據(jù); String name =rs.getString(1); //通過(guò)列名來(lái)查詢(xún)數(shù)據(jù) String name2 = rs.getString("ename"); System.out.println(name); } } catch (SQLException e) { System.out.println("測(cè)試--"); e.printStackTrace(); } //關(guān)閉數(shù)據(jù)連接對(duì)象 try { if(rs!= null){ rs.close(); } if(st!= null){ st.close(); } if(conn!=null){ conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java如何替換RequestBody和RequestParam參數(shù)的屬性
近期由于接手的老項(xiàng)目中存在所有接口中新增一個(gè)加密串來(lái)給接口做一個(gè)加密效果,所以就研究了一下Http請(qǐng)求鏈路,發(fā)現(xiàn)可以通過(guò)?javax.servlet.Filter去實(shí)現(xiàn),這篇文章主要介紹了Java替換RequestBody和RequestParam參數(shù)的屬性,需要的朋友可以參考下2023-10-10Springboot如何讀取resources下的json配置文件
這篇文章主要介紹了Springboot如何讀取resources下的json配置文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Java讀取網(wǎng)頁(yè)內(nèi)容并下載圖片的實(shí)例
這篇文章主要介紹了Java讀取網(wǎng)頁(yè)內(nèi)容并下載圖片的實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-09-09Java中ConcurrentHashMap和Hashtable的區(qū)別
ConcurrentHashMap?和?Hashtable?都是用于在Java中實(shí)現(xiàn)線程安全的哈希表數(shù)據(jù)結(jié)構(gòu)的類(lèi),但它們有很多區(qū)別,本文就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下2023-10-10mybatis映射文件操作存儲(chǔ)過(guò)程的實(shí)現(xiàn)
本文主要介紹了mybatis映射文件操作存儲(chǔ)過(guò)程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Java源碼解析ThreadLocal及使用場(chǎng)景
今天小編就為大家分享一篇關(guān)于Java源碼解析ThreadLocal及使用場(chǎng)景,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01關(guān)于Java如何正確地實(shí)現(xiàn)方法重載詳解
在一個(gè)類(lèi)中,可以定義多個(gè)構(gòu)造方法,這叫做方法的重載!但是關(guān)于方法重載,具有有哪些要求和細(xì)節(jié)?在今天的這篇文章中,小編給大家詳細(xì)說(shuō)說(shuō)方法重載相關(guān)的內(nèi)容,需要的朋友可以參考下2023-05-05Java各種鎖在工作中使用場(chǎng)景和細(xì)節(jié)經(jīng)驗(yàn)總結(jié)
本章主要說(shuō)一說(shuō)鎖在工作中的使用場(chǎng)景,主要以 synchronized 和 CountDownLatch 為例,會(huì)分別描述一下這兩種鎖的使用場(chǎng)景和姿勢(shì)2022-03-03springboot中json對(duì)象中對(duì)Long類(lèi)型和String類(lèi)型相互轉(zhuǎn)換
與前端聯(lián)調(diào)接口時(shí),后端一些字段設(shè)計(jì)為L(zhǎng)ong類(lèi)型,這樣就有可能導(dǎo)致前端缺失精度,這時(shí)候我們就需要將Long類(lèi)型返回給前端時(shí)做數(shù)據(jù)類(lèi)型轉(zhuǎn)換,本文主要介紹了springboot中json對(duì)象中對(duì)Long類(lèi)型和String類(lèi)型相互轉(zhuǎn)換,感興趣的可以了解一下2023-11-11