JDBC编程的基本步骤是设置数据源、加载JDBC驱动器程序、指定数据库、打开数据库连接、提交查询、处理查询结果等。 1.statement对象 private Map getsysIdAndNameMap(ConnectionManager cm){ 2:PreparedStatement 2.1.使用PreparedStatement进行预编译操作 在前面已经学过,Statement是一个实现Statement接口的类的对象,用于将SQL语句发送到数据库中。当一个Statement对象被创建时,它提供了一个创建SQL查询、执行该查询和检索返回结果的作用。 2.2. PreparedStatement简介 PreparedStatement接口继承自Statement,与Statement相比,PreparedStatement增加了在执行SQL调用之前,将输入参数绑定到SQL调用中的功能。它用于执行带或不带输入参数的预编译SQL语句。因为PreparedStatement对象已编译过,所以执行速度要快于Statement对象。因此当需要多次调用一条SQL语句时,可以考虑使用PreparedStatement接口。 PreparedStatement接口继承了Statement的所有方法,同时还增加了一些方法,还更改了以下3个很重要的方法。 setXXX() executeQuery() executeUpdate() 其中setXXX()方法中的XXX指的是该参数对应的类型。例如参数是String类型,则方法为setString()。setXXX()方法有两个参数,第1个参数是指要设置参数的位置,第2个是指要设置的具体值。还以开始时举的例子为例: 如果基本数据库和驱动程序在语句提交之后仍保持这些语句的打开状态,则同一个 PreparedStatement可执行多次。如果这一点不成立,那么试图通过使用PreparedStatement 对象代替Statement对象来提高性能是没有意义的。 2.3.使用示例 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 3:ResultSet 对象 ResultSet rs = stmt.executeQuery("select distinct logid from stat_data"); 4事务操作: 1. 概述: 在jdbc的数据库操作中,一项事务是由一条或是多条表达式所组成的一个不可分割的工作单元。我们通过提交commit()或是回滚rollback()来结束事务的操作。关于事务操作的方法都位于接口java.sql.Connection中。 2. 特点: try { conn = DriverManager.getConnection (jdbc:oracle:thin:@host:1521:SID,username,userpwd; conn.setAutoCommit(false);//禁止自动提交,设置回滚点 stmt = conn.createStatement(); stmt.executeUpdate(“alter table …”); //数据库更新操作1 stmt.executeUpdate(“insert into table …”); //数据库更新操作2 conn.commit(); //事务提交 }catch(Exception ex) { ex.printStackTrace(); try { conn.rollback(); //操作不成功则回滚 }catch(Exception e) { e.printStackTrace(); } } |
|