JDBC核心全接触

1. jdbc 六个步骤     
     1)注册Driver;
Class.forName("oracle.jdbc.driver.OracleDriver");
     2)获得连接
String url="jdbc:oracle:thin:@192.168.0.200:1521:oradb10g";
Connection conn=DriverManager.getConnection(url,"用户","密码");
     3)创建Statement,stm=conn.createStatement();
     4)执行sql,      stm.executeUpdate(sql);
     5)select--->处理结果集
ResultSet rs=stm.executeQuery(sql);
while(rs.next()){ System.out.println(rs.getInt(1)+"------"+rs.getString(2));
        }
     6)释放资源(rs,stm,conn)
      if(rs!=null)  try{ rs.close();} catch(Exception ee){}
if(stm!=null)  try{ stm.close();} catch(Exception ee){}
if(conn!=null) try{ conn.close();} catch(Exception ee){}


2. 注册Driver的三种方式 
 
    
     1)Class.forName("oracle.jdbc.driver.OracleDriver");
     2)Driver d=new oracle.jdbc.driver.OracleDriver();
       DriverManager.registDriver(d);
     3)程序里没有指定
java-Djdbc.drivers=oracle.jdbc.driver.OracleDriver classname

3. ResultSet遍历

     1) next()---->boolean
     2) get***(int)   get***(columnname)   getString("name");
开始时指针指向第一行的上一行,最后指针指向最后一行     的下一行
 
4. 三种execute方法的区别
    
1)stm.execute(sql)   all   boolean(ResultSet)(返回布尔型,判断是否有结果集)
     2)stm.executeQuery(String selectsql) --->ResultSet(返回结果集,sql是查询语句)
     3)stm.executeUpdate(sql)  --->int(db row)  (返回int,判断改变的行数,一般执行,update,delete,insert)
       ---->delete update  insert 


Statement和PreparedStatement 
Statement是逐条发送语句(可以执行多条语句),PreparedStatement是先存储sql再一起发送(在sql需要设值的时候,效率要高,但只能执行一条语句)例子:
String sql=
"insert into jdbc_users(id,name) values(users_seq.nextval,? )";
pstm=conn.prepareStatement(sql);
pstm.setString(1, names[i]);//1代表是提几个问号,后面是设值
pstm.executeUpdate();一起提交

你可能感兴趣的:(oracle,sql,jdbc)