最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java DriverManager.getConnection()獲取數(shù)據(jù)庫(kù)連接

 更新時(shí)間:2021年01月21日 11:51:05   作者:c語(yǔ)言中文網(wǎng)  
這篇文章主要介紹了Java DriverManager.getConnection()獲取數(shù)據(jù)庫(kù)連接,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

DriverManager.getConnection一共有四個(gè)重載方法,前三個(gè)由public修飾,用來(lái)獲取不同類(lèi)型的參數(shù),這三個(gè)getConnection實(shí)際相當(dāng)于一個(gè)入口,他們最終都會(huì)return第四個(gè)私有化的getConnection方法,最終向第四個(gè)私有化方法的傳入?yún)?shù)都是url,java.util.Properties,以及Reflection.getCallerClass(),這個(gè)方法是native的

其中Reflection.getCallerClass()是反射中的一個(gè)方法,這個(gè)方法用來(lái)返回他的調(diào)用類(lèi),也就說(shuō)是哪個(gè)類(lèi)調(diào)用了這個(gè)方法,Reflection類(lèi)位于調(diào)用棧中的0幀位置,在JDK7以前,該方法可以傳入int n返回調(diào)用棧中從0幀開(kāi)始的第n幀中的類(lèi),在JDK7中,需要設(shè)置java命令行選項(xiàng)Djdk.reflect.allowGetCallerClass來(lái)使用該方法,到了JDK8時(shí),再調(diào)用該方法會(huì)導(dǎo)致UnsupportedOperationException異常。

JDK8中g(shù)etCallerClass使用方法變更為getCallerClass(),Reflection.getCallerClass()方法調(diào)用所在的方法必須用@CallerSensitive進(jìn)行注解,通過(guò)此方法獲取class時(shí)會(huì)跳過(guò)鏈路上所有的有@CallerSensitive注解的方法的類(lèi),直到遇到第一個(gè)未使用該注解的類(lèi),避免了用Reflection.getCallerClass(int n) 這個(gè)過(guò)時(shí)方法來(lái)自己做判斷。

在這里每個(gè)getConnection都是用CallerSensitive修飾的,調(diào)用getCallerClass應(yīng)該是獲取外面使用DriverManager.getConnection()的類(lèi)的名稱(chēng),即在class A中調(diào)用了DriverManager.getConnection(),則返回class A。

Java DriverManager.getConnection() 方法用于獲得試圖建立到指定數(shù)據(jù)庫(kù) URL 的連接。DriverManager 試圖從已注冊(cè)的 JDBC 驅(qū)動(dòng)程序集中選擇一個(gè)適當(dāng)?shù)尿?qū)動(dòng)程序。

語(yǔ)法1

getConnection(String url)

參數(shù)說(shuō)明:

  • url:訪問(wèn)數(shù)據(jù)庫(kù)的 URL 路徑。

示例

下面的代碼利用 getConnection 方法創(chuàng)建與 MySQL 數(shù)據(jù)庫(kù)的連接,并返回連接對(duì)象。

public Connection getConnection(){
  Connection con=null;
  try{
   Class.forName("com.mysql.jdbc.Driver"); //注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)
   String url = "jdbc:mysql://localhost:3306/test?user=root&password=root"; //定義連接數(shù)據(jù)庫(kù)的url
   con = DriverManager.getConnection(url); //獲取數(shù)據(jù)庫(kù)連接
   System.out.println("數(shù)據(jù)庫(kù)連接成功!");
  }catch(Exception e){
   e.printStackTrace();
  }
   return con; //返回一個(gè)連接
}

語(yǔ)法2

getConnection(String url,Properties info)

參數(shù)說(shuō)明:

  • url:訪問(wèn)數(shù)據(jù)庫(kù)的 URL 路徑。
  • info:是一個(gè)持久的屬性集對(duì)象,包括 user 和 password 屬性。

示例

下面的代碼利用 getConnection 方法第一種語(yǔ)法格式,創(chuàng)建與 MySQL 數(shù)據(jù)庫(kù)的連接,并返回連接對(duì)象。

public Connection getConnection(){
  Connection con = null; //定義數(shù)據(jù)庫(kù)連接對(duì)象
  Properties info = new Properties(); //定義Properties對(duì)象
  info.setProperty("user","root"); //設(shè)置Properties對(duì)象屬性
  info.setProperty("password","root");
  try{
   Class.forName("com.mysql.jdbc.Driver"); //注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)
   String url = "jdbc:mysql://localhost:3306/test"; //test為數(shù)據(jù)庫(kù)名稱(chēng)
   con = DriverManager.getConnection(url,info); //獲取連接數(shù)據(jù)庫(kù)的Connection對(duì)象
   System.out.println("數(shù)據(jù)庫(kù)連接成功!");
  }catch(Exception e){
   e.printStackTrace();
  }
   return con;//返回一個(gè)連接
}

語(yǔ)法3

Connection(String url,String user,String password)

參數(shù)說(shuō)明:

  • url:訪問(wèn)數(shù)據(jù)庫(kù)的 URL 路徑。
  • user:是訪問(wèn)數(shù)據(jù)庫(kù)的用戶(hù)名。
  • password:連接數(shù)據(jù)庫(kù)的密碼。

典型應(yīng)用

下面的代碼利用 getConnection 方法創(chuàng)建與 SQL Server 數(shù)據(jù)庫(kù)的連接,并返回連接對(duì)象。與數(shù)據(jù)庫(kù)建立連接成功后的運(yùn)行結(jié)果。代碼如下:

private Connection con;
private String user = "sa"; //定義連接數(shù)據(jù)庫(kù)的用戶(hù)名
private String password = ""; //定義連接數(shù)據(jù)庫(kù)的密碼
private String className = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_database01"; /**創(chuàng)建數(shù)據(jù)庫(kù)連接*/
public Connection getCon(){
 try{
  Class.forName(className);//加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)
  System.out.println("數(shù)據(jù)庫(kù)驅(qū)動(dòng)加載成功!");
  con = DriverManager.getConnection(url,user,password); //連接數(shù)據(jù)庫(kù)
  System.out.println("成功地獲取數(shù)據(jù)庫(kù)連接!");
 }catch(Exception e){
  System.out.println("創(chuàng)建數(shù)據(jù)庫(kù)連接失敗!");
  con = null;
  e.printStackTrace();
 }
 return con;
}

運(yùn)行結(jié)果如下:
數(shù)據(jù)庫(kù)驅(qū)動(dòng)加載成功!
成功地獲取數(shù)據(jù)庫(kù)連接!

到此這篇關(guān)于Java DriverManager.getConnection()獲取數(shù)據(jù)庫(kù)連接的文章就介紹到這了,更多相關(guān)Java DriverManager.getConnection() 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何把idea中的項(xiàng)目導(dǎo)入github倉(cāng)庫(kù)中(圖文詳解)

    如何把idea中的項(xiàng)目導(dǎo)入github倉(cāng)庫(kù)中(圖文詳解)

    這篇文章主要介紹了如何把idea中的項(xiàng)目導(dǎo)入github倉(cāng)庫(kù)中,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 解決Eclipse中java文件的圖標(biāo)變成空心J的問(wèn)題

    解決Eclipse中java文件的圖標(biāo)變成空心J的問(wèn)題

    這篇文章主要介紹了解決Eclipse中java文件的圖標(biāo)變成空心J的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • 簡(jiǎn)單講解奇偶排序算法及在Java數(shù)組中的實(shí)現(xiàn)

    簡(jiǎn)單講解奇偶排序算法及在Java數(shù)組中的實(shí)現(xiàn)

    這篇文章主要介紹了奇偶排序算法及Java數(shù)組的實(shí)現(xiàn),奇偶排序的時(shí)間復(fù)雜度為O(N^2),需要的朋友可以參考下
    2016-04-04
  • Java Spring之@Async原理案例詳解

    Java Spring之@Async原理案例詳解

    這篇文章主要介紹了Java Spring之@Async原理案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Java高效讀取大文件實(shí)例分析

    Java高效讀取大文件實(shí)例分析

    這篇文章主要介紹了Java高效讀取大文件實(shí)例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Java中的cglib代理詳解

    Java中的cglib代理詳解

    這篇文章主要介紹了Java中的cglib代理詳解, 代理模式是一種設(shè)計(jì)模式,它可以為其他對(duì)象提供一種代理,以控制對(duì)該對(duì)象的訪問(wèn),可以在運(yùn)行時(shí)動(dòng)態(tài)地創(chuàng)建代理對(duì)象,而不需要手動(dòng)編寫(xiě)代理類(lèi)的代碼,需要的朋友可以參考下
    2023-09-09
  • 基于Rest的API解決方案(jersey與swagger集成)

    基于Rest的API解決方案(jersey與swagger集成)

    下面小編就為大家?guī)?lái)一篇基于Rest的API解決方案(jersey與swagger集成)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • java 格式化時(shí)間的示例代碼

    java 格式化時(shí)間的示例代碼

    這篇文章主要介紹了java 格式化時(shí)間的示例代碼,幫助大家更好的利用Java處理時(shí)間,感興趣的朋友可以了解下
    2020-12-12
  • 合并有序數(shù)組的實(shí)現(xiàn)(java與C語(yǔ)言)

    合并有序數(shù)組的實(shí)現(xiàn)(java與C語(yǔ)言)

    這篇文章主要介紹了合并有序數(shù)組的實(shí)現(xiàn)(java與C語(yǔ)言)的相關(guān)資料,這里對(duì)有序數(shù)組的合并分享了java版本和C語(yǔ)言版本的示例,需要的朋友可以參考下
    2017-08-08
  • Spring Boot如何優(yōu)化內(nèi)嵌的Tomcat示例詳解

    Spring Boot如何優(yōu)化內(nèi)嵌的Tomcat示例詳解

    spring boot默認(rèn)web程序啟用tomcat內(nèi)嵌容器,監(jiān)聽(tīng)8080端口,下面這篇文章主要給大家介紹了關(guān)于Spring Boot如何優(yōu)化內(nèi)嵌Tomcat的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-09-09

最新評(píng)論

阿拉善左旗| 皮山县| 通许县| 静安区| 仙桃市| 巴青县| 教育| 泾阳县| 新营市| 曲阳县| 万全县| 个旧市| 察隅县| 金堂县| 綦江县| 德兴市| 垦利县| 上杭县| 康平县| 江川县| 成武县| 武强县| 蓬莱市| 伊金霍洛旗| 临朐县| 宁强县| 双辽市| 珠海市| 靖安县| 衡水市| 富平县| 香港| 沙雅县| 常熟市| 南召县| 台南县| 乐亭县| 百色市| 乐亭县| 双江| 明星|