中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      JAVA認(rèn)證基礎(chǔ)知識(shí):JSP使用數(shù)據(jù)庫(kù)操作

      時(shí)間:2024-06-10 20:32:46 JAVA認(rèn)證 我要投稿
      • 相關(guān)推薦

      JAVA認(rèn)證基礎(chǔ)知識(shí):JSP使用數(shù)據(jù)庫(kù)操作

        在JSP 中可以使用Java 的JDBC 技術(shù),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中表記錄的查詢、修改和刪除等操作。JDBC 技術(shù)在JSP 開(kāi)發(fā)中占有很重要的地位。

      JAVA認(rèn)證基礎(chǔ)知識(shí):JSP使用數(shù)據(jù)庫(kù)操作

        JDBC(Java DataBase Connectivity)是Java 數(shù)據(jù)庫(kù)連接API.簡(jiǎn)單地說(shuō),

        JDBC 能完成三件事:

        (1) 與一個(gè)數(shù)據(jù)庫(kù)建立連接,

        (2) 向數(shù)據(jù)庫(kù)發(fā)送SQL 語(yǔ)句,

        (3) 處理數(shù)據(jù)庫(kù)返回的結(jié)果。

        JDBC 和數(shù)據(jù)庫(kù)建立連接的一種常見(jiàn)方式是建立起一個(gè)JDBC─ODBC 橋接器。由于ODBC 驅(qū)動(dòng)程序被廣泛的使用,建立這種橋接器后,使得JDBC 有能力訪問(wèn)幾乎所有類(lèi)型的數(shù)據(jù)庫(kù)。JDBC 也可以直接加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序訪問(wèn)數(shù)據(jù)庫(kù),如果使用 JDBC─ODBC 橋接器訪問(wèn)數(shù)據(jù)庫(kù),事先必須設(shè)置數(shù)據(jù)源。

        1.數(shù)據(jù)源

        利用系統(tǒng)建立一個(gè)ODBC數(shù)據(jù)源。

        2.JDBC-ODBC 橋接器

        建立一個(gè)JDBC─ODBC 橋接器,即加載橋接器驅(qū)動(dòng)程序。

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        Class 是包java.lang 中的一個(gè)類(lèi),該類(lèi)通過(guò)調(diào)用它的靜態(tài)方法forName 就可以建立JDBC-ODBC 橋接器。

        3.查詢記錄

        (1)連接到數(shù)據(jù)庫(kù)

        首先使用包 java.sql 中的Connection 類(lèi)聲明一個(gè)對(duì)象,然后再使用類(lèi)DriverManager 調(diào)用它的靜態(tài)方法getConnection 創(chuàng)建這個(gè)連接對(duì)象:

        Connection con = DriverManager.getConnection("jdbc:odbc:數(shù)據(jù)源名字","login name", "password ");

        (2)向數(shù)據(jù)庫(kù)發(fā)送SQL 語(yǔ)句。

        首先使用 Statement 聲明一個(gè)SQL 語(yǔ)句對(duì)象,然后通過(guò)剛才創(chuàng)建的連接數(shù)據(jù)庫(kù)的對(duì)象con 調(diào)用方法createStatment()創(chuàng)建這個(gè)SQL 語(yǔ)句對(duì)象。

        Statement sql=con.createStatement();

        (3)處理查詢結(jié)果

        有了 SQL 語(yǔ)句對(duì)象后,這個(gè)對(duì)象就可以調(diào)用相應(yīng)的方法實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中表的查詢和修改。并將查詢結(jié)果存放在一個(gè)ResultSet 類(lèi)聲明的對(duì)象中,也就是說(shuō)SQL 語(yǔ)句對(duì)數(shù)據(jù)庫(kù)的查詢操作將返回一個(gè)ResultSet 對(duì)象:

        ResultSet rs=sql.executeQuery("SELECT * FROM 成績(jī)表");

        ResultSet 對(duì)象是以統(tǒng)一形式的列組織的數(shù)據(jù)行組成。ResultSet 對(duì)象一次只能看到一個(gè)數(shù)據(jù)行,使用next()方法走到下一數(shù)據(jù)行,獲得一行數(shù)據(jù)后,

        ResultSet 對(duì)象可以使用getxxxx 方法獲得字段值,將位置索引(第一列使用1,第二列使用2 等等)或字段名傳遞給getxxxx方法的參數(shù)即可

        使用結(jié)果集Result 的next()方法,可以順序的查詢。一個(gè)結(jié)果集將游標(biāo)最初定位在第一行的前面,第一次調(diào)用next()方法使游標(biāo)移動(dòng)到第一行。

        next()方法返回一個(gè)boolean 型數(shù)據(jù),當(dāng)游標(biāo)移動(dòng)到最后一行之后返回false.

        可滾動(dòng)的結(jié)果集:

        Statement stmt=con.createStatement(int type ,int concurrency);

        根據(jù)參數(shù)的 type、concurrency 的取值情況,stmt 返回相應(yīng)類(lèi)型的結(jié)果集:

        type 的取值決定滾動(dòng)方式,取值可以是:

        ResultSet.TYPE_FORWORD_ONLY :結(jié)果集的游標(biāo)只能向下滾動(dòng)。

        ResultSet.TYPE_SCROLL_INSENSITIVE :結(jié)果集的游標(biāo)可以上下移動(dòng),當(dāng)數(shù)據(jù)庫(kù)變化時(shí),當(dāng)前結(jié)果集不變。

        ResultSet.TYPE_SCROLL_SENSITIVE :返回可滾動(dòng)的結(jié)果集,當(dāng)數(shù)據(jù)庫(kù)變化時(shí),當(dāng)前結(jié)果集同步改變。

        Concurrency 取值決定是否可以用結(jié)果集更新數(shù)據(jù)庫(kù),Concurrency 取值:

        ResultSet.CONCUR_READ_ONLY:不能用結(jié)果集更新數(shù)據(jù)庫(kù)中的表。

        ResultSet.CONCUR_UPDATETABLE:能用結(jié)果集更新數(shù)據(jù)庫(kù)中的表。

        滾動(dòng)查詢經(jīng)常用到 ResultSet 的下述方法:

        public boolean previous():將游標(biāo)向上移動(dòng),該方法返回boolean 型數(shù)據(jù),當(dāng)移到結(jié)果集第一行之前時(shí)返回false.

        public void beforeFirst():將游標(biāo)移動(dòng)到結(jié)果集的初始位置,即在第一行之前。

        public void afterLast():將游標(biāo)移到結(jié)果集最后一行之后。

        public void first():將游標(biāo)移到結(jié)果集的第一行。

        public void last():將游標(biāo)移到結(jié)果集的最后一行。

        public boolean isAfterLast():判斷游標(biāo)是否在最后一行之后。

        public boolean isBeforeFirst():判斷游標(biāo)是否在第一行之前

        public boolean ifFirst():判斷游標(biāo)是否指向結(jié)果集的第一行。

        public boolean isLast():判斷游標(biāo)是否指向結(jié)果集的最后一行。

        public int getRow():得到當(dāng)前游標(biāo)所指行的行號(hào),行號(hào)從1 開(kāi)始,如果結(jié)果集沒(méi)有行,返回0

        public boolean absolute(int row):將游標(biāo)移到參數(shù)row 指定的行號(hào)。

        注意:如果row 取負(fù)值,就是倒數(shù)的行數(shù),absolute(-1)表示移到最后一行,absolute(-2)表示移到倒數(shù)第2 行。當(dāng)移動(dòng)到第一行前面或最后一行的后面時(shí),該方法返回false。

      【JAVA認(rèn)證基礎(chǔ)知識(shí):JSP使用數(shù)據(jù)庫(kù)操作】相關(guān)文章:

      JAVA認(rèn)證基礎(chǔ)知識(shí):Java獲取當(dāng)前的系統(tǒng)時(shí)間03-18

      JAVA認(rèn)證基礎(chǔ)知識(shí):JavaNativeInterface學(xué)習(xí)小結(jié)01-11

      sun認(rèn)證考試:Java.io的使用01-08

      Java認(rèn)證基礎(chǔ)知識(shí):java字符串轉(zhuǎn)化整型問(wèn)題03-18

      JAVA認(rèn)證簡(jiǎn)介03-19

      JAVA認(rèn)證基礎(chǔ)知識(shí):基于反射機(jī)制的服務(wù)代理調(diào)用03-08

      Linux認(rèn)證基礎(chǔ)知識(shí):linux操作系統(tǒng)目錄結(jié)構(gòu)03-08

      SUN JAVA認(rèn)證介紹12-18

      JAVA認(rèn)證考試細(xì)則03-19

      主站蜘蛛池模板: 平原县| 麻豆国产VA免费精品高清在线 | 国产一区二区三区色区| 许昌县| 国产老妇伦国产熟女老妇高清| 女人高潮被爽到呻吟观看| 久久精品中文字幕久久| 91精品国产综合久久青草| 仲巴县| 91在线无码精品秘 入口九色十| 扒开双腿操女人逼的免费视频| 亚洲精品国产不卡在线观看| 久久久久国产精品四虎| 辛集市| 日本a级大片免费观看| 呼玛县| 97人妻无码免费专区| 国产品精品久久久久中文| 资阳市| 调兵山市| 蒙自县| 全椒县| 国产黄片一区视频在线观看| 清苑县| 风韵丰满妇啪啪区老老熟女杏吧| 通海县| 蒙阴县| 蜜桃成人午夜激情网站| av无码特黄一级| 亚洲一区二区三区无吗| 亚洲av综合色区久久精品天堂| 国产美女a做受大片免费| 一区二区三区国产97| 亚洲成人av一区二区三区| 彩票| 国产女主播免费在线观看| 蜜桃av无码免费看永久| 色乱码一区二区三区在线| 日本丰满少妇高潮呻吟| 亚洲女同一区二区三久久精品| 国产精品毛片av久久|