日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

JAVA實(shí)現(xiàn)數(shù)據(jù)庫(kù)基本操作指南_JSP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Java與其他語(yǔ)言數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換方法
Java與其他語(yǔ)言數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換方法實(shí)例程序 /*** 通信格式轉(zhuǎn)換** Java和一些windows編程語(yǔ)言如c、c 、delphi所寫(xiě)的網(wǎng)絡(luò)程序進(jìn)行通訊時(shí),需要進(jìn)行相應(yīng)的轉(zhuǎn)換* 高、低字節(jié)之間的轉(zhuǎn)

一、Java數(shù)據(jù)庫(kù)操作基本流程

二、幾個(gè)常用的重要技巧:

·可滾動(dòng)、更新的記錄集

·批量更新

·事務(wù)處理

Java數(shù)據(jù)庫(kù)操作基本流程:

取得數(shù)據(jù)庫(kù)連接 - 執(zhí)行sql語(yǔ)句 - 處理執(zhí)行結(jié)果 - 釋放數(shù)據(jù)庫(kù)連接

1、取得數(shù)據(jù)庫(kù)連接

1)用DriverManager取數(shù)據(jù)庫(kù)連接

例子


String className,url,uid,pwd;

  className = "oracle.jdbc.driver.OracleDriver";

  url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;

  uid = "system";

  pwd = "manager";

  Class.forName(className);

  Connection cn = DriverManager.getConnection(url,uid,pwd);
2)用jndi(java的命名和目錄服務(wù))方式

例子


String jndi = "jdbc/db";

  Context ctx = (Context) new InitialContext().lookup("java:comp/env");

  DataSource ds = (DataSource) ctx.lookup(jndi);

  Connection cn = ds.getConnection();
多用于jsp中

2、執(zhí)行sql語(yǔ)句

1)用Statement來(lái)執(zhí)行sql語(yǔ)句


String sql;

Statement sm = cn.createStatement();

sm.executeQuery(sql); // 執(zhí)行數(shù)據(jù)查詢(xún)語(yǔ)句(select)

  sm.executeUpdate(sql); // 執(zhí)行數(shù)據(jù)更新語(yǔ)句(delete、update、insert、drop等)

statement.close();
2)用PreparedStatement來(lái)執(zhí)行sql語(yǔ)句


String sql;

  sql = "insert into user (id,name) values (?,?)";

  PreparedStatement ps = cn.prepareStatement(sql);

  ps.setInt(1,xxx);

  ps.setString(2,xxx);

  ...

  ResultSet rs = ps.executeQuery(); // 查詢(xún)

  int c = ps.executeUpdate(); // 更新
3、處理執(zhí)行結(jié)果

查詢(xún)語(yǔ)句,返回記錄集ResultSet

更新語(yǔ)句,返回?cái)?shù)字,表示該更新影響的記錄數(shù)

ResultSet的方法

1、next(),將游標(biāo)往后移動(dòng)一行,如果成功返回true;否則返回false

2、getInt("id")或getSting("name"),返回當(dāng)前游標(biāo)下某個(gè)字段的值

4、釋放連接

cn.close();

一般,先關(guān)閉ResultSet,然后關(guān)閉Statement(或者PreparedStatement);最后關(guān)閉Connection

幾個(gè)常用的技巧:

·可滾動(dòng)、更新的記錄集

1、創(chuàng)建可滾動(dòng)、更新的Statement

Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY);

該Statement取得的ResultSet就是可滾動(dòng)的

2、創(chuàng)建PreparedStatement時(shí)指定參數(shù)

PreparedStatemet ps = cn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSet.absolute(9000);

·批量更新

1、Statement


Statement sm = cn.createStatement();

  sm.addBatch(sql1);

  sm.addBatch(sql2);

  ...

  sm.executeBatch()
一個(gè)Statement對(duì)象,可以執(zhí)行多個(gè)sql語(yǔ)句以后,批量更新。這多個(gè)語(yǔ)句可以是delete、update、insert等或兼有

2、PreparedStatement


PreparedStatement ps = cn.preparedStatement(sql);

  {

  ps.setXXX(1,xxx);

  ...

  ps.addBatch();

  }

  ps.executeBatch();
一個(gè)PreparedStatement,可以把一個(gè)sql語(yǔ)句,變換參數(shù)多次執(zhí)行,一次更新。

·事務(wù)的處理

1、關(guān)閉Connection的自動(dòng)提交

cn.setAutoCommit(false);

2、執(zhí)行一系列sql語(yǔ)句

要點(diǎn):執(zhí)行每一個(gè)新的sql語(yǔ)句前,上一次執(zhí)行sql語(yǔ)句的Statement(或者PreparedStatemet)必須先close


Statement sm ;

  sm = cn.createStatement(insert into user...);

  sm.executeUpdate();

  sm.close();

  sm = cn.createStatement("insert into corp...);

  sm.executeUpdate();

  sm.close();
3、提交

cn.commit();

4、如果發(fā)生異常,那么回滾

cn.rollback();

分享:Java多媒體框架設(shè)計(jì)自動(dòng)播放機(jī)
如果把Java媒體框架(http://java.sun.com/jmf)看作客戶(hù)端安裝的媒體播放機(jī)的話(huà),那么這種框架并不是非常激動(dòng)人心。它只支持少量媒體類(lèi)型,并且事實(shí)上這些媒體類(lèi)型都被象Windows媒體播放機(jī)以

來(lái)源:模板無(wú)憂(yōu)//所屬分類(lèi):JSP教程/更新時(shí)間:2008-08-22
相關(guān)JSP教程