久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      <small id="aebxz"><menu id="aebxz"></menu></small>
    1. Java數據庫編程中的幾個常用技巧

      時間:2022-06-23 06:08:07 數據庫操作系統 我要投稿
      • 相關推薦

      Java數據庫編程中的幾個常用技巧

        1、java數據庫操作基本流程

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

        可滾動、更新的記錄集

        批量更新

        事務處理

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

        1、取得數據庫連接

        1)用DriverManager取數據庫連接

        例子:

        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的命名和目錄服務)方式

        例子

        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í)行數據查詢語句(select)

        sm.executeUpdate(sql); // 執(zhí)行數據更新語句(、update、、drop等)statement.close();

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

        String sql;

        sql = " 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í)行結果

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

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

        ResultSet的方法:

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

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

        3、釋放連接。

        cn.close();

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

        可滾動、更新的記錄集

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

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

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

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

        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語句以后,批量更新。這多個語句可以是、update、等或兼有

        2、PreparedStatement

        PreparedStatement ps = cn.preparedStatement(sql);

        {

        ps.setXXX(1,xxx);

        ...

        ps.addBatch();

        }

        ps.executeBatch();

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

        事務的處理

        1、關閉Connection的自動提交

        cn.setAutoCommit(false);

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

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

        Statement sm ;

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

        sm.executeUpdate();

        sm.close();

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

        sm.executeUpdate();

        sm.close();

        3、提交

        cn.commit();

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

        cn.rollback();

      【Java數據庫編程中的幾個常用技巧】相關文章:

      java 網絡編程 面試06-28

      講解Java從數據庫中讀取Blob對象圖片并顯示的方法06-27

      刪除數據庫中重復數據的技巧06-28

      java數據庫面試題07-13

      關于網頁編程語言及數據庫06-28

      主要C#,JAVA,數據庫,簡歷中的專業(yè)能力怎么寫較好?07-11

      歌唱的幾個發(fā)聲技巧07-02

      面試中談論薪資的技巧? 麻煩給幾個例子說明下07-13

      Java連接MYSQL數據庫的具體步驟06-27

      美食攝影的幾個技巧介紹07-01