Jdbc連接數(shù)據(jù)庫基本步驟詳解
Jdbc連接數(shù)據(jù)庫的基本步驟,供大家參考,具體內(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ù)庫連接,有以下幾個(gè)步驟:
*1.加載驅(qū)動(dòng)程序 Class.forName(driver);
*2.創(chuàng)建連接對(duì)象 Connection con = DriverManager.getConnection(url,username,password);
*3.創(chuàng)建sql語句的執(zhí)行對(duì)象
*4.執(zhí)行sql語句
*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ù)庫連接錯(cuò)誤");
e.printStackTrace();
}
Statement st = null;
try {
st = conn.createStatement();
} catch (SQLException e) {
System.out.println("創(chuàng)建數(shù)據(jù)庫聲明類錯(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()){
//通過列的標(biāo)號(hào)來查詢數(shù)據(jù);
String name =rs.getString(1);
//通過列名來查詢數(shù)據(jù)
String name2 = rs.getString("ename");
System.out.println(name);
}
} catch (SQLException e) {
System.out.println("測試--");
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();
}
}
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java如何替換RequestBody和RequestParam參數(shù)的屬性
近期由于接手的老項(xiàng)目中存在所有接口中新增一個(gè)加密串來給接口做一個(gè)加密效果,所以就研究了一下Http請求鏈路,發(fā)現(xiàn)可以通過?javax.servlet.Filter去實(shí)現(xiàn),這篇文章主要介紹了Java替換RequestBody和RequestParam參數(shù)的屬性,需要的朋友可以參考下2023-10-10
Springboot如何讀取resources下的json配置文件
這篇文章主要介紹了Springboot如何讀取resources下的json配置文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Java讀取網(wǎng)頁內(nèi)容并下載圖片的實(shí)例
這篇文章主要介紹了Java讀取網(wǎng)頁內(nèi)容并下載圖片的實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-09-09
Java中ConcurrentHashMap和Hashtable的區(qū)別
ConcurrentHashMap?和?Hashtable?都是用于在Java中實(shí)現(xiàn)線程安全的哈希表數(shù)據(jù)結(jié)構(gòu)的類,但它們有很多區(qū)別,本文就來詳細(xì)的介紹一下,感興趣的可以了解一下2023-10-10
mybatis映射文件操作存儲(chǔ)過程的實(shí)現(xiàn)
本文主要介紹了mybatis映射文件操作存儲(chǔ)過程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
關(guān)于Java如何正確地實(shí)現(xiàn)方法重載詳解
在一個(gè)類中,可以定義多個(gè)構(gòu)造方法,這叫做方法的重載!但是關(guān)于方法重載,具有有哪些要求和細(xì)節(jié)?在今天的這篇文章中,小編給大家詳細(xì)說說方法重載相關(guān)的內(nèi)容,需要的朋友可以參考下2023-05-05
Java各種鎖在工作中使用場景和細(xì)節(jié)經(jīng)驗(yàn)總結(jié)
本章主要說一說鎖在工作中的使用場景,主要以 synchronized 和 CountDownLatch 為例,會(huì)分別描述一下這兩種鎖的使用場景和姿勢2022-03-03
springboot中json對(duì)象中對(duì)Long類型和String類型相互轉(zhuǎn)換
與前端聯(lián)調(diào)接口時(shí),后端一些字段設(shè)計(jì)為Long類型,這樣就有可能導(dǎo)致前端缺失精度,這時(shí)候我們就需要將Long類型返回給前端時(shí)做數(shù)據(jù)類型轉(zhuǎn)換,本文主要介紹了springboot中json對(duì)象中對(duì)Long類型和String類型相互轉(zhuǎn)換,感興趣的可以了解一下2023-11-11

