国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
jdbc編程中的一些常用的技巧[總結(jié)]
1、java數(shù)據(jù)庫操作基本流程

  2、幾個常用的重要技巧:

  可滾動、更新的記錄集

  批量更新

  事務(wù)處理

  java數(shù)據(jù)庫操作基本流程:取得數(shù)據(jù)庫連接 - 執(zhí)行sql語句 - 處理執(zhí)行結(jié)果 - 釋放數(shù)據(jù)庫連接

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

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

  例子:
    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語句

  1)用Statement來執(zhí)行sql語句

String sql;
Statement sm = cn.createStatement();
sm.executeQuery(sql); // 執(zhí)行數(shù)據(jù)查詢語句(select)
sm.executeUpdate(sql); // 執(zhí)行數(shù)據(jù)更新語句(delete、update、insert、drop等)statement.close();


  2)用PreparedStatement來執(zhí)行sql語句

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(); // 查詢
int c = ps.executeUpdate(); // 更新


  3、處理執(zhí)行結(jié)果

  查詢語句,返回記錄集ResultSet。

  更新語句,返回數(shù)字,表示該更新影響的記錄數(shù)。

  ResultSet的方法:

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

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

  3、釋放連接。

cn.close();

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

  可滾動、更新的記錄集

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

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


  該Statement取得的ResultSet就是可滾動的

  2、創(chuàng)建PreparedStatement時指定參數(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()


  一個Statement對象,可以執(zhí)行多個sql語句以后,批量更新。這多個語句可以是delete、update、insert等或兼有

  2、PreparedStatement

PreparedStatement ps = cn.preparedStatement(sql);
{
 ps.setXXX(1,xxx);
 ...
 ps.addBatch();
}
ps.executeBatch();

  一個PreparedStatement,可以把一個sql語句,變換參數(shù)多次執(zhí)行,一次更新。

  事務(wù)的處理

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

cn.setAutoCommit(false);

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

  要點:執(zhí)行每一個新的sql語句前,上一次執(zhí)行sql語句的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();
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JDBC介紹
Java的數(shù)據(jù)庫連接編程(JDBC)技術(shù)
java使用MySQL學(xué)習(xí)
JDBC常見面試題集錦
Java開發(fā)之JDBC學(xué)習(xí)分享
JDBC常見面試題(修訂版)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服