已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、SQL语言回顾1、Select select * from T where 2、Insert insert into T values()3、Create create table T()4、Delete delete from T where5、Update update T set t1= and t2=. where t3=6、Drop drop table T二、JDBC编程步骤 1、Load the DriverClass.forName( )|Class.forName( ).newInstance( )|new DriverName( )实例化时自动向DriverManager注册,不需显式调用DriverManager.registerDriver方法2、Connect to the DataBase DriverManager.getConnection( )3、Execute the SQL Connection.CreateStatement( ) Statement.executeQuery( ) Statement.executeUpdate( )4、Retrieve the result data 循环取得结果while(rs.next( )5、Show the result data 将数据库中的各种类型转换为Java中的类型(getXXX)方法6、Close Close the resultset ./ close the statement / close the connection 三、JDBC操作oracle数据库1、 JDBC连接oracle数据库:import java.sql.*;public class TestJDBC public static void main(String args) throws ClassNotFoundException, SQLException Class.forName(oracle.jdbc.driver.OracleDriver); /new oracle.jdbc.driver.OracleDriver(); Connection conn = DriverManager.getConnection(jdbc:oracle:thin::1521:solid, scott, tiger); 2、 向数据库中取字段,遍历数据库,并显示出相应字段:import java.sql.*;public class TestJDBC public static void main(String args) throws ClassNotFoundException, SQLException Class.forName(oracle.jdbc.driver.OracleDriver); /new oracle.jdbc.driver.OracleDriver(); Connection conn = DriverManager.getConnection(jdbc:oracle:thin::1521:solid, scott, tiger); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(select * from dept); while(rs.next() System.out.println(rs.getString(deptno); System.out.println(rs.getInt(deptno); rs.close(); stmt.close(); conn.close(); 3、 捕捉相关异常,完善JDBC编程:import java.sql.*;public class TestJDBC public static void main(String args) throws ClassNotFoundException, SQLException ResultSet rs = null; Statement stmt = null; Connection conn = null; try Class.forName(oracle.jdbc.driver.OracleDriver); conn = DriverManager.getConnection(jdbc:oracle:thin::1521:solid, scott, tiger); stmt = conn.createStatement(); rs = stmt.executeQuery(select * from dept); while(rs.next() System.out.println(rs.getString(deptno); System.out.println(rs.getInt(deptno); catch(ClassNotFoundException e) e.printStackTrace(); catch(SQLException e) e.printStackTrace(); finally try if(rs != null) rs.close(); rs = null; if(stmt != null) stmt.close(); stmt = null; if(conn != null) conn.close(); conn = null; catch(SQLException e) e.printStackTrace(); 四、JDBC编程高级1、 JDBC处理DML语句:import java.sql.*;public class TestDML public static void main(String args) Connection conn = null; Statement stmt = null; try Class.forName(oracle.jdbc.driver.OracleDriver); conn = DriverManager.getConnection( jdbc:oracle:thin::1521:solid, scott, tiger); stmt = conn.createStatement(); String sql = insert into dept2 values (99,develop,changsha); stmt.executeUpdate(sql); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); finally try if (stmt != null) stmt.close(); stmt = null; if (conn != null) conn.close(); conn = null; catch (SQLException e) e.printStackTrace(); 2、 JDBC处理DML语句2:import java.sql.*;public class TestDML2 public static void main(String args) if (args.length != 3) System.out.println(Arguments error,please enter again!); System.exit(-1); int deptno = 0; try deptno = Integer.parseInt(args0); catch (NumberFormatException e) System.out.println(Arguments error); System.exit(-1); String dname = args1; String loc = args2; Connection conn = null; Statement stmt = null; try Class.forName(oracle.jdbc.driver.OracleDriver); conn = DriverManager.getConnection(jdbc:oracle:thin::1521:solid, scott, tiger); stmt = conn.createStatement(); String sql = insert into dept2 values ( + deptno + , + dname + , + loc + );System.out.println(sql); stmt.executeUpdate(sql); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); finally try if (conn != null) conn.close(); conn = null; if (stmt != null) stmt.close(); stmt = null; catch (SQLException e) e.printStackTrace(); 3、 JDBC处理PreparedStatement,可以灵活指定SQL语句中的变量import java.sql.*;public class TestPrepStmt public static void main(String args) if (args.length != 3) System.out.println(Arguments error,please enter again!); System.exit(-1); int deptno = 0; try deptno = Integer.parseInt(args0); catch (NumberFormatException e) System.out.println(Arguments error); System.exit(-1); String dname = args1; String loc = args2; Connection conn = null; PreparedStatement pstmt = null; try Class.forName(oracle.jdbc.driver.OracleDriver); conn = DriverManager.getConnection(jdbc:oracle:thin::1521:solid, scott, tiger); pstmt = conn.prepareStatement(insert into dept2 values (?, ?, ?); pstmt.setInt(1, deptno); pstmt.setString(2, dname); pstmt.setString(3, loc); pstmt.executeUpdate(); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); finally try if (conn != null) conn.close(); conn = null; if (pstmt != null) pstmt.close(); pstmt = null; catch (SQLException e) e.printStackTrace(); 4、 JDBC处理储存过程import java.sql.*;public class TestProc public static void main(String args) throws Exception Class.forName(oracle.jdbc.driver.OracleDriver); Connection conn = DriverManager.getConnection(jdbc:oracle:thin::1521:SXT, scott, tiger); CallableStatement cstmt = conn.prepareCall(call p(?, ?, ?, ?); cstmt.registerOutParameter(3, Types.INTEGER); cstmt.registerOutParameter(4, Types.INTEGER); cstmt.setInt(1, 3); cstmt.setInt(2, 4); cstmt.setInt(4, 5); cstmt.execute(); System.out.println(cstmt.getInt(3); System.out.println(cstmt.getInt(4); cstmt.close(); conn.close(); 5、 JDBC进行批处理import java.sql.*;public class TestBatch public static void main(String args) throws Exception Class.forName(oracle.jdbc.driver.OracleDriver); Connection conn = DriverManager.getConnection(jdbc:oracle:thin::1521:SXT, scott, tiger); /* Statement stmt = conn.createStatement(); stmt.addBatch(insert into dept2 values (51, 500, haha); stmt.addBatch(insert into dept2 values (52, 500, haha); stmt.addBatch(insert into dept2 values (53, 500, haha); stmt.executeBatch(); stmt.close(); */ PreparedStatement ps = conn.prepareStatement(insert into dept2 values (?, ?, ?); ps.setInt(1, 61); ps.setString(2, haha); ps.setString(3, bj); ps.addBatch(); ps.setInt(1, 62); ps.setString(2, haha); ps.setString(3, bj); ps.addBatch(); ps.setInt(1, 63); ps.setString(2, haha); ps.setString(3, bj); ps.addBatch(); ps.executeBatch(); ps.close(); conn.close(); 6、 JDBC处理Transactionimport java.sql.*;public class TestTransaction public static void main(String args) Connection conn = null; Statement stmt = null; try Class.forName(oracle.jdbc.driver.OracleDriver); conn = DriverManager.getConnection(jdbc:oracle:thin::1521:SXT, scott, tiger); conn.setAutoCommit(false); stmt = conn.createStatement(); stmt.addBatch(insert into dept2 values (51, 500, haha); stmt.addBatch(insert into dept2 values (52, 500, haha); stmt.addBatch(insert into dept2 values (53, 500, haha); stmt.executeBatch(); mit(); conn.setAutoCommit(true); catch (ClassNotFoundException e) e.printStackTrace(); catch(SQLException e) e.printStackTrace(); try if(conn != null) conn.rollback(); conn.setAutoCommit(true); catch (SQLException e1) e1.printStackTrace(); finally try if(stmt != null) stmt.close(); if(conn != null) conn.close(); catch (SQLException e) e.printStac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/GZBC 75-2024融合教育支持师培训服务规范
- 产后心理疏导对母乳喂养率的促进作用
- 节后题电路基础分析
- 初中:七年级上册道德与法治第三单元测试题
- 交互作用风险识别
- 交叉设计在生物等效性试验中的个体间变异来源
- 初一新生军训心得感想(34篇)
- 博物馆藏品保护与修复预案
- 初级财务会计与管理知识答案解析(一)
- 出纳实训心得体会14篇
- 学前幼教科学学前中班中班下-中班科学活动:土豆的生长过程
- 默写单(知识清单)-2024-2025学年人教PEP版英语六年级上册
- 常见岩性名称及符号
- 氨甲环酸制备工艺
- 韧性理论与韧性城市建设
- 体育社会学课件第十章社会体育的社会学分析
- 大学面试试讲PPT-机械原理
- 静脉治疗评估及输液工具选择
- 学习参考:有机化学中的电子效应
- GB/T 18376.3-2001硬质合金牌号第3部分:耐磨零件用硬质合金牌号
- 电力电子技术王兆安-课后答案
评论
0/150
提交评论