国产精品一久久香蕉产线看-国产精品一区在线播放-国产精品自线在线播放-国产毛片久久国产-一级视频在线-一级视频在线观看免费

JDBC鏈接數(shù)據(jù)庫的步驟

  • 相關推薦

JDBC鏈接數(shù)據(jù)庫的步驟

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

  JDBC:JAVA訪問數(shù)據(jù)庫的解決方案。

  幾個步驟:1.加載驅(qū)動類;

  2.與數(shù)據(jù)庫建立連接;

  3.執(zhí)行SQL語句

  4.處理結(jié)果集

  5.關閉連接

  1. 第一步:加載驅(qū)動類:

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

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

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

  2. 第二步:通過DriverManager與數(shù)據(jù)庫建立連接:

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

  參數(shù)1:數(shù)據(jù)庫的地址及端口(不同數(shù)據(jù)庫字符串內(nèi)容不相同)

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

  參數(shù)2:數(shù)據(jù)庫的用戶名

  參數(shù)3:數(shù)據(jù)庫對應用戶名的密碼

  Connection conn = DriverManager.getConnect

  ("jdbc:oracle:thin:@host:port:oracle","user", "psd");

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

  Statement state = conn.createStatement();

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

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

  ResultSet executeQuery(String sql)

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

  int executeUpdate(String sql)

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

  boolean execute(String sql)

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

  ResultSet rs = state.executeQuery(sql);

  輸出查詢結(jié)果:while(rs.next())

  { 輸出語句 }

  ResultSet提供用于遍歷結(jié)果集的方法:

  boolean next()

  *該方法有兩個作用,首先當我們查詢出結(jié)果集后rs的指針指向第一條數(shù)據(jù)之上,所以我們需要先調(diào)用一次next()使其指針移動到第一條數(shù)據(jù)上并表示該條數(shù)據(jù)。

  第二個作用是看返回值,若指針向下移動后,發(fā)現(xiàn)沒有數(shù)據(jù)了,會返回false,若有則返回true,所以我們只有在該方法返回true的情況下才獲取當前記錄的各個字段對應的值RS還提供了若干個getXXX(String fieldName)方法:

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

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

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

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

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

  1.直接把數(shù)據(jù)配置寫在工具類DBUtil中

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

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

  Properties prop = new Properties();prop.load(new FileInputStream("config.properties"));//根據(jù)配置項初始化String driverName = prop.getProperty("driverName");String url = prop.getProperty("url");String username = prop.getProperty("username");String password = prop.getProperty("password");//最大連接數(shù)int maxActive = Integer.parseInt(prop.getProperty("maxActive"));//最大等待時間int maxWait = Integer.parseInt(prop.getProperty("maxWait"));//初始化連接池cp = new BasicDataSource();//相當與是Class.forName()中的內(nèi)容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();}

  以上內(nèi)容是針對JDBC鏈接數(shù)據(jù)庫的步驟做講解,希望能夠幫助到大家!

【JDBC鏈接數(shù)據(jù)庫的步驟】相關文章:

數(shù)據(jù)庫系統(tǒng)的設計步驟12-20

有關安裝Linux與Oracle數(shù)據(jù)庫步驟精講06-28

磁力鏈接怎么用05-24

為什么EXCEL表格中的郵件鏈接取消了,而網(wǎng)站鏈接沒有取消?07-03

適當?shù)谋A魧С鲦溄訉W(wǎng)站的益處07-14

網(wǎng)站優(yōu)化之死鏈接處理07-14

怎么檢查網(wǎng)站的死鏈接呢?07-14

網(wǎng)站怎樣做友情鏈接07-14

word文檔做成超鏈接的方法07-02

信息技術教案:超鏈接08-26

主站蜘蛛池模板: 一本大道香焦在线视频 | 日日碰日日摸日日澡视频播放 | 欧美一级夜夜爽 | 午夜免费视频观看 | 亚洲综合男人的天堂色婷婷 | 成人合成mv福利视频网站 | 成人在线第一页 | 欧美日韩高清不卡免费观看 | 美国一级大黄 | 天堂va欧美va亚洲va国产 | 日本高清中文字幕视频在线 | 天天做天天摸 | 黄视频免费网站 | 一区二区三区日本 | 国产免费成人在线视频 | 成 黄 色 激 情视频网站 | 窝窝视频成人影院午夜在线 | 狠狠色噜狠狠狠狠色综合久 | 亚洲爆爽 | 最近2019的中文字幕免费 | 欧美日韩中文在线 | 一个人免费观看www视频 | 国产成人高清精品免费软件 | 欧美理论片大全在线观看 | 久久九九有精品国产56 | 毛片在线视频 | 国产成人精品系列在线观看 | 九九在线精品 | 日韩在线观看中文字幕 | 久久综合精品视频 | 一级一片免费看 | 成人久久18免费网站 | 国产欧美亚洲精品第一页久久肉 | 莉莉私人免费影院观看网站 | 黄色大片视频网站 | 东北老妇xxxxhd| 亚洲高清免费在线观看 | 在线播放人成午夜免费视频 | 国产成人高清精品免费观看 | 久久国产精品偷 | 欧美日韩黄色大片 |