1.Java數據庫操作基本流程
          a .數據庫連接1.Drivermanager 鏈接數據庫
          String className,url,uid,pwd;
          className="Oracle.jdbc.driver.OracleDriver";
          uid="scott";
          pwd="tiger";
          url="jdbc:oracle:thin:@localhost:1521:ora92";
          Class.forName(classname);
          Connection conn=DriverManager.getConnection(url,uid,pwd);
          2.JNDI鏈接數據庫
          String jndi ="jdbc/db"; //  e20-040 9L0-609 數據源的名稱
          //context是一組名稱到對象的綁定組成
          Hashtable env=new Hashtable ();
          Context ctx=(Context)new InitialContext.lookup("env");// 獲得數據源所在的上下文點的對象
          DataSource ds=(DataSource)ctx.lookup(jndi);//找到數據源

           


          Connection conn=ds.getConnection();//
          b.執行 sql語句
          String sql;
          StateMent stat=conn.createStatement();
          ResultSet rs=stat.executeQuery(sql);//執行數據的查詢語句(select);
          stat.executeUpdate(sql);//執行數據的更新語句(inset into ,delete ,update ,drop)
          stat.close();
          c.用preparedStatement 來執行sql語句
          String sql="inset into table(id,name) values(?,?)";
          PreparedStatement ps=conn.prepareStatement(sql);
          ps.setInt(1,001);
          ps.setString(2,"zhangmanli");

          ps.executeQuery();
          int count=ps.executeUpdate();
          d.處理執行結果
          查詢語句,返回記錄集ResultSet對象
          更新語句,返回數字,表示該更新影響的記錄數
          javax.sql.*
          javax.naming.*;
          數據處理:
          1關閉connection 的自動提交
          conn.setAutoCommit(false);
          2執行一系列sql 語句,
          Statement sm;
          sm=conn.createStatement(sql);
          sm.executeUpdate();
          sm.close();

          3.提交:
          conn.commit();
          4.回滾機制;
          conn.rollback();
          e:線程處理:
          D:jndi和dataSource 來獲得數據庫的鏈接:
          import java.sql.ResultSet ;
          import java.sql.*;
          import javax.sql.DataSource;
          import javax.naming.Context;
          import javax.naming.InitialContext;
          import java.util.Hashtable;
          import java.util.Properties;
          import java.io.*;
          public class BasicExample{
           public static void main(String args[]){
            Connection conn=null;
            try{
             Properties prop =new Properties();
             prop.load(new FileInputStream("simple.properties"));
             Hashtable env =new Hashtable();
             env.put(Context.INITIAL_CONTEXT_FACTORY,prop.getProperty("INITIAL_CONTEXT_FACTORY"));
             env.put(Context.PROVIDER_URL,prop.getProperty("PROVIDER_URL"));
             InitialContext ctx=new InitialContext(env);
            DataSource ds=(DataSource)ctx.lookup("Book");


             Conn=ds.getConnection();
             Statement stat=conn.createStatement();;
             ResultSet rs=stmt.executeQuery(sql);
             while(rs.next()){
              int id=Integer.parseInt(rs.getString("userId"));
              String userName=rs.getString ("username");

             }
            }catch(SQLException e){
             e.printStackTrace();
            }finally{
             try{
              if(conn!=null){
               conn.close();
              }
             }catch(SQLException e){
              e.printStackTrace();
             }
            }
           }
          };
          posted on 2008-04-24 10:36 LifeNote 閱讀(6032) 評論(5)  編輯  收藏 所屬分類: Java 、Hibernate
          Comments
          • # re: Java數據庫操作基本流程
            YODA
            Posted @ 2008-04-24 11:20
            最關鍵一點應該著重指出:
            一定在finally字句中順序關閉JDBC的資源,通常包括ResultSet, Statement, PreparedStatement, Connection  回復  更多評論   
          • # re: Java數據庫操作基本流程
            LifeNote
            Posted @ 2008-04-24 11:22
            對 對這個十分重要  回復  更多評論   
          • # re: Java數據庫操作基本流程
            dsj
            Posted @ 2008-04-24 14:04
            我以為你要分析下內部原理和過程的。。。。。。  回復  更多評論   
          • # re: Java數據庫操作基本流程
            chorsg
            Posted @ 2008-04-27 09:38
            內涵文章。。。  回復  更多評論   
          • # re: Java數據庫操作基本流程[未登錄]
            過客
            Posted @ 2009-08-18 09:45
            stat.executeUpdate(sql);//執行數據的更新語句(inset into ,delete ,update ,drop)

            這里的insert應該是這個吧。  回復  更多評論   
           
          主站蜘蛛池模板: 无棣县| 东乌| 安泽县| 永清县| 嘉荫县| 乐昌市| 兴仁县| 陆川县| 长葛市| 抚顺市| 塘沽区| 唐河县| 和顺县| 盐亭县| 东光县| 织金县| 花莲市| 双流县| 张家川| 嵊泗县| 巴东县| 石嘴山市| 兰西县| 道孚县| 葵青区| 长子县| 义乌市| 洛宁县| 临湘市| 揭西县| 元谋县| 临高县| 乃东县| 郧西县| 福建省| 涞源县| 陆良县| 万盛区| 霞浦县| 正蓝旗| 筠连县|