




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业园区电气系统设计与施工策略
- 工业大数据在制造业中的应用
- 工业安全与防护技术的发展
- 工业污染源的环境监测与管理
- 工业废水处理厂的环境监控技术
- 工业污染控制与环境保护技术
- 工业生产中的事故分析与预防
- 工业绿色改造的途径与策略
- 工业自动化与智能制造的探讨
- 工业设计与智能制造技术
- 2025年四川富润招聘笔试冲刺题(带答案解析)
- 2025年全国安全生产月活动安全知识竞赛题库(附答案)
- 2025医疗健康行业AI应用白皮书-阿里云
- 高温环境电缆散热措施
- 公交站牌制作合同协议书
- 人教部编版五年级下册语文期末复习现代文阅读(含课内、课外)专项训练(三)(含答案)
- 湖南省岳阳市湘阴县长仑四校2024-2025学年下学期 5月联考八年级数学试题
- 2025届重庆市渝北八中学数学八下期末学业水平测试模拟试题含解析
- 2025届上海市静安区七下数学期末经典试题含解析
- 初三班级学生中考加油家长会课件
- 部编版道德与法治五年级下册期末综合测试卷含答案(共6套)
评论
0/150
提交评论