程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java語言數據庫操作的基本流程

Java語言數據庫操作的基本流程

編輯:JAVA編程入門知識
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();
     }
    }
   }
  };

  


 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved