亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP-06-使用JDBC操作數據庫

2019-11-15 00:10:44
字體:
來源:轉載
供稿:網友
jsp-06-使用JDBC操作數據庫6.1 使用JDBC查詢數據 【鏈接Oracle數據庫】

具體操作:

1) 將odbc文件拷貝到項目中

  Odbc文件所在目錄: oracle安裝目錄下- PRoduct – db_1 – jdbc -lib – odbc14.jar

  復制到項目的 webRoot – webinf -lib 中

  在項目中添加引用

2) 實現數據查詢

      Connection connection=null;

Statement stmt=null;

ResultSet rs=null;

try {

//(1)Class.forName()加載驅動

Class.forName("oracle.jdbc.driver.OracleDriver");

//(2)DriverManager.getConnection(URL,用戶名,密碼)獲得數據庫連接 (Connection)

connection=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:news","scott","tiger");

//(3)獲得Statement對象,執行SQL語句

String sql="select * from news_detail";

stmt=connection.createStatement();

rs=stmt.executeQuery(sql);

//(4)處理執行結果(ResultSet),

while(rs.next()){

int id=rs.getInt("id");

String title=rs.getString("title");

Timestamp time=rs.getTimestamp("createdate");

//輸出

}

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

//釋放資源

try {

rs.close();

stmt.close();

connection.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

6.2 使用JDBC操作數據 【鏈接oracle數據庫】

String sql="insert into news_detail(id,categoryId,createdate) values(?,?,?)";

pstmt=connection.prepareStatement(sql);

pstmt.setInt(1, id);

pstmt.setInt(2, categoryId);

pstmt.setTimestamp(6, new java.sql.Timestamp(createdate.getTime()));

int i=pstmt.executeUpdate();

//(4)處理執行結果

if(i>0)

System.out.println("插入成功!");

6.3 升級JDBC (基于屬性文件的數據庫配置)

目的: 更改數據庫時,便于修改,靈活。

屬性文件: 把相關數據庫配置信息寫在文件中,并保持在項目內,在程序中讀取文件中的信息,從而進行數據庫連接。在Java中提供了 Properties 類,來讀取 .properties(屬性)文件。在項目中默認路徑(src)下創建文件,名稱為 db.properties (名稱可自定義,擴展名必須為 properties), 編輯文件內容

1) src – 新建 – other - *.properties (以.properties結尾,保存數據連接信息)

jdbc.driver_class=oracle.jdbc.driver.OracleDriver

jdbc.connection.url=jdbc:oracle:thin:@localhost:1521:news //路徑

jdbc.connection.username=scott //用戶名

jdbc.connection.passWord=tiger //密碼

2) 使用參數連接DB (讀取配置文件)

詳見 編寫通用DAO中 util 目錄下的 ConfigManager.java

3) 讀取屬性文件

package com.pb.news.util;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

//讀取配置文件(屬性文件)的工具類

public class ConfigManager {

private static ConfigManager configManager;

//properties.load(InputStream);讀取屬性文件

private static Properties properties;

private ConfigManager(){

String configFile="database.properties";

properties=new Properties();

InputStream in=ConfigManager.class.getClassLoader().getResourceAsStream(configFile);

try {

properties.load(in);

in.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//以單例模式創建、獲得對象實例

public static ConfigManager getInstance(){

if(configManager != null){

return configManager;

}else{

makeInstance();

return configManager;

}

}

//同步方法,保證在同一時間,只能被一個人調用

private static synchronized void makeInstance(){

if(configManager==null){

configManager=new ConfigManager();

}

}

public String getString(String key){

return properties.getProperty(key);

}

}

4) 實現數據查詢

為了避免數據冗余,先編寫接口,然后編寫實現接口,繼承 BaseDao.java 的類。

6.4 數據庫連接池 【看此段內容請忽略6.3】

數據庫連接池負責分配、管理和釋放數據庫連接,它允許應用程序重復使用一個現有的數據庫連接,而不再是重新建立一個;釋放空閑時間超過最大空閑時間的數據庫連接,以避免因為沒有釋放數據庫連接而引起的數據庫連接遺漏。

1、Tomcat中加入數據庫驅動文件

將數據庫中的odbc14.jar 文件拷貝到 tomcat 的安裝目錄的lib 文件中

2、配置Tomcat的conf/context.xml (Tomcat的安裝目錄)

<Resource name="jdbc/news"

auth="Container" type="javax.sql.DataSource" maxActive="100"

maxIdle="30" maxWait="10000" username="scott" password="tiger"

driverClassName="oracle.jdbc.OracleDriver"

url="jdbc:oracle:thin:@localhost:1521:news"/>

(! 項目編寫過程中,有個Server文件夾,里面是項目運行過程中從真實Tomcat中拷貝過來的,所以此處還需要將這段文件拷貝到Server目錄中的 conf/context.xml中。此問題和開發工具有關,這是javaee eclipse的一個bug)

3、配置應用程序的(WEB-INF文件夾中)web.xml文件

(可選,如果JDBC1.6以上此步可略過)

<resource-ref>

<res-ref-name>jdbc/news</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

4、使用JNDI(JAVA的命名和目錄接口)獲取連接對象

public Connection getConnection2() {

try {

//初始化上下文

Context cxt=new InitialContext();

//獲取與邏輯名相關聯的數據源對象

DataSource ds=(DataSource)cxt.lookup("java:comp/env/jdbc/news");

conn=ds.getConnection();

} catch (NamingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return conn;

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久999| 中文字幕在线视频日韩| 久久精品国产久精国产一老狼| 国产精品欧美一区二区| 久久久久久久一区二区三区| 精品亚洲国产成av人片传媒| 欧美精品久久久久久久久久| 亚洲大胆人体av| 久久免费观看视频| 亚洲精品久久久久中文字幕欢迎你| 美女性感视频久久久| 日韩精品在线观看一区二区| 国产欧美精品在线播放| 亚洲一级黄色av| 欧美精品video| 成人黄色免费在线观看| 国产成人在线一区二区| 5566成人精品视频免费| 亚洲一区久久久| 亚洲韩国欧洲国产日产av| 欧美日韩福利电影| 亚洲午夜久久久影院| 欧美另类精品xxxx孕妇| 色综合久久精品亚洲国产| 欧美裸体xxxx极品少妇软件| 国产精品久久久久91| 欧美中文在线字幕| 日韩中文字幕免费| 欧美日韩国产综合新一区| 国产精品女人网站| 成人a在线视频| 日韩激情av在线免费观看| 亚洲精品网址在线观看| 欧美影院在线播放| 国产精品伦子伦免费视频| 麻豆国产va免费精品高清在线| 97超碰国产精品女人人人爽| 日韩精品欧美国产精品忘忧草| 精品福利在线看| 精品成人国产在线观看男人呻吟| 久久在线精品视频| 91中文在线观看| 日韩精品欧美国产精品忘忧草| 国产精品嫩草视频| 日本精品一区二区三区在线播放视频| 亚洲精品动漫久久久久| 久久久免费av| 国产97在线亚洲| 欧美性猛交丰臀xxxxx网站| 这里只有精品丝袜| 色综合久久悠悠| 亚洲精品在线不卡| 日韩中文娱乐网| 51午夜精品视频| 少妇精69xxtheporn| 国产精品日韩欧美综合| 亚洲精品乱码久久久久久按摩观| 久久久精品久久| 中文国产成人精品| 国产一区二区激情| 国产成人aa精品一区在线播放| 色黄久久久久久| 97视频在线看| 久久久久成人网| 亚洲男人第一av网站| 欧美性做爰毛片| 亚洲va电影大全| 亚洲色图偷窥自拍| 亚洲无亚洲人成网站77777| 国产日韩欧美在线| 欧美日韩一区二区三区| 91在线中文字幕| 欧美中文在线观看国产| 日本亚洲精品在线观看| 久久综合五月天| 国产精品爽爽爽爽爽爽在线观看| 久久精品久久久久久| 日韩成人在线网站| 国产亚洲福利一区| 成人有码在线视频| 国产狼人综合免费视频| 欧美在线观看网址综合| 高清一区二区三区四区五区| 国产精品一区电影| 95av在线视频| 国产精品看片资源| 欧美午夜宅男影院在线观看| 日韩精品免费在线| 久久成人综合视频| 欧美激情精品久久久久久大尺度| 国产成人在线视频| 久久久久久成人精品| 中文字幕不卡av| 亚洲成人网在线| 国产精品免费在线免费| 亚洲天堂av网| 成人在线国产精品| 麻豆成人在线看| 97婷婷大伊香蕉精品视频| 在线日韩欧美视频| 成人在线视频福利| 日韩精品视频观看| 精品亚洲夜色av98在线观看| 97香蕉久久夜色精品国产| 国产精品免费一区豆花| 91久久国产精品91久久性色| 久久精品成人欧美大片| 国产成一区二区| 国产午夜精品理论片a级探花| 日本精品视频网站| 久久免费高清视频| 亚洲伊人久久综合| 91精品啪aⅴ在线观看国产| 日韩极品精品视频免费观看| 亚洲一区二区日本| 色在人av网站天堂精品| 久久亚洲欧美日韩精品专区| 久久久精品日本| 亚洲国产成人久久综合| 欧美色图在线视频| 在线观看日韩专区| 91性高湖久久久久久久久_久久99| 欧美日韩激情美女| 亚洲国产日韩欧美在线99| 97人人模人人爽人人喊中文字| 欧美中文字幕在线播放| 日韩中文字幕在线播放| 久久免费国产精品1| 久久精品电影一区二区| 亚洲女成人图区| 国产精品自产拍在线观看中文| 精品国产美女在线| 国产精品网址在线| 亚洲少妇中文在线| 国产精品久久国产精品99gif| 亚洲欧美成人一区二区在线电影| 色综合男人天堂| 中文字幕精品在线视频| 久久久久久久久久久久久久久久久久av| 亚洲免费视频观看| 九九精品在线观看| 78m国产成人精品视频| 久久久免费在线观看| 亚洲欧洲国产一区| 欧美在线一区二区三区四| 欧洲成人性视频| 欧美最猛性xxxxx免费| 欧美日韩人人澡狠狠躁视频| 中文字幕亚洲情99在线| 一本一本久久a久久精品牛牛影视| 日本一区二区不卡| 国产91精品高潮白浆喷水| 最近2019中文字幕mv免费看| 亚洲视频精品在线| 久久久噜噜噜久久| 国产综合福利在线| 久久久久久久久久久免费| 精品视频一区在线视频| 亚洲人成网在线播放| 国产精品久久久久久久美男| 国产精品女人久久久久久| 欧美日韩国产91| 91亚洲午夜在线| 亚洲精品小视频在线观看|