亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JDBC鏈接數據庫的幾個步驟

 更新時間:2015年07月21日 12:03:51   投稿:mrr  
這篇文章主要介紹了JDBC鏈接數據庫的幾個步驟,通過將數據庫的連接放在一個工具類里面,達到重用的效果,需要的朋友可以參考下

此文列出了JDBC鏈接數據庫的4個步驟,供大家參考下:

JDBC:JAVA訪問數據庫的解決方案。

幾個步驟:1.加載驅動類;

     2.與數據庫建立連接;

             3.執(zhí)行SQL語句

       4.處理結果集

       5.關閉連接

1. 第一步:加載驅動類:

  需要注意:不同的數據庫,參照的字符串不同,ORACLE的連接為:Class.forName("oracle.jdbc.driver.OracleDriver"); 這一步執(zhí)行后,程序可能會拋出: ClassNotFoundException,原因一般有:

a. 數據庫的驅動jar包沒有導入到環(huán)境變量中

b. Class.forName中的字符串拼寫不正確

2. 第二步:通過DriverManager與數據庫建立連接:

其靜態(tài)方法getConnection用來獲取連接。通常需要傳入三個參數

參數1:數據庫的地址及端口(不同數據庫字符串內容不相同)

oracle的地址:jdbc:oracle:thin:@host:port:sid

參數2:數據庫的用戶名

參數3:數據庫對應用戶名的密碼

Connection conn = DriverManager.getConnect
("jdbc:oracle:thin:@host:port:oracle","user", "psd");

3.第三步:java.sql.Statement 執(zhí)行SQL語句并獲取結果

Statement state = conn.createStatement();

String sql="/*這里面是SQL語句*/  ";

Statement針對不同的SQL語句提供了不同的執(zhí)行方法:

ResultSet executeQuery(String sql)

  * 該方法專門用來執(zhí)行DQL語句,返回的ResultSet表示查詢出來的結果集

int executeUpdate(String sql)
  * 該方法專門用來執(zhí)行DML語句,返回的數字表示執(zhí)行該語句影響了表中多少條數據

boolean execute(String sql)
  * 該方法理論上什么語句都可以執(zhí)行了,但是由于DQL,DML都有專門的方法執(zhí)行了,所以該方法通常用來執(zhí)行DDL語句

ResultSet rs = state.executeQuery(sql);
輸出查詢結果:while(rs.next())
        {  輸出語句  }
ResultSet提供用于遍歷結果集的方法:

boolean next()

  *該方法有兩個作用,首先當我們查詢出結果集后rs的指針指向第一條數據之上,所以我們需要先調用一次next()使其指針移動到第一條數據上并表示該條數據。 
第二個作用是看返回值,若指針向下移動后,發(fā)現沒有數據了,會返回false,若有則返回true,所以我們只有在該方法返回true的情況下才獲取當前記錄的各個字段對應的值RS還提供了若干個getXXX(String fieldName)方法:

  *這一系列方法是用來獲取RS表示的當前記錄中給定字段對應的值。不同的字段由于類型不同需要調用相對應的方法

第4步:關閉連接,寫在finally塊中

finally{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

將數據庫的連接放在一個工具類里面,達到重用的效果

由于訪問數據庫是經常要用到的操作,所以在工程中,通常編寫一個訪問數據庫的工具類,此后所有訪問數據庫的操作,都從工具類中獲取連接,實現工具類的兩種方式:

1.直接把數據配置寫在工具類DBUtil中

2.把數據庫配置寫在一個properties屬性文件里,工具類讀入屬性文件,逐行獲取數據庫參數(一般使用第二種)

若使用第一種方法,在后期需要修改所使用的數據庫或者說修改host、端口、數據庫連接名、密碼等等時,就需要修改源代碼里面的數據,不便于系統的維護,故一般使用第二種方法數據庫連接工具類DBUtil.java以及連接池的主要步驟:

Properties prop = new Properties();
prop.load(new FileInputStream("config.properties"));
//根據配置項初始化
String driverName = prop.getProperty("driverName");
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
//最大連接數
int maxActive = Integer.parseInt(prop.getProperty("maxActive"));
//最大等待時間
int maxWait = Integer.parseInt(prop.getProperty("maxWait"));
//初始化連接池
cp = new BasicDataSource();
//相當與是Class.forName()中的內容
cp.setDriverClassName(driverName);
cp.setUrl(url);
cp.setUsername(username);
cp.setPassword(password);
cp.setMaxActive(maxActive);
cp.setMaxWait(maxWait);
public static Connection getConnection() throws Exception{
return cp.getConnection();
}
以上內容是針對JDBC鏈接數據庫的步驟做講解,希望能夠幫助到大家!

相關文章

  • Spring Web零xml配置原理以及父子容器關系詳解

    Spring Web零xml配置原理以及父子容器關系詳解

    這篇文章主要介紹了Spring Web零xml配置原理以及父子容器關系詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java 使用Filter實現用戶自動登陸

    Java 使用Filter實現用戶自動登陸

    這篇文章主要介紹了Java 使用Filter實現用戶自動登陸的方法,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-05-05
  • IISExpress?配置允許外部訪問詳細介紹

    IISExpress?配置允許外部訪問詳細介紹

    這篇文章主要介紹了?IISExpress?配置允許外部訪問詳細介紹的相關資料,需要的朋友可以參考下
    2016-11-11
  • jasypt 集成SpringBoot 數據庫密碼加密操作

    jasypt 集成SpringBoot 數據庫密碼加密操作

    這篇文章主要介紹了jasypt 集成SpringBoot 數據庫密碼加密操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java利用反射如何查找使用指定注解的類詳解

    Java利用反射如何查找使用指定注解的類詳解

    這篇文章主要給大家介紹了關于Java利用反射如何查找使用指定注解的類的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • Spring Boot定時任務的使用實例代碼

    Spring Boot定時任務的使用實例代碼

    這篇文章主要介紹了Spring Boot定時任務的使用實例代碼,需要的朋友可以參考下
    2017-04-04
  • Java Bean的作用域,生命周期和注解

    Java Bean的作用域,生命周期和注解

    這篇文章主要介紹了淺談Spring中Bean的作用域,生命周期和注解,具有一定借鑒價值,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-11-11
  • springboot網站應用使用第三方qq登錄的實現過程

    springboot網站應用使用第三方qq登錄的實現過程

    這篇文章主要介紹了springboot網站應用使用第三方qq登錄,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • SpringCloud微服務開發(fā)基于RocketMQ實現分布式事務管理詳解

    SpringCloud微服務開發(fā)基于RocketMQ實現分布式事務管理詳解

    分布式事務是在微服務開發(fā)中經常會遇到的一個問題,之前的文章中我們已經實現了利用Seata來實現強一致性事務,其實還有一種廣為人知的方案就是利用消息隊列來實現分布式事務,保證數據的最終一致性,也就是我們常說的柔性事務
    2022-09-09
  • Spring實現Quartz自動配置的方法詳解

    Spring實現Quartz自動配置的方法詳解

    這篇文章主要介紹了Spring實現Quartz自動配置的方法詳解,如果想在應用中使用Quartz任務調度功能,可以通過Spring Boot實現Quartz的自動配置,以下介紹如何開啟Quartz自動配置,以及Quartz自動配置的實現過程,需要的朋友可以參考下
    2023-11-11

最新評論