100%

luodis
江湖少侠
江湖少侠
  • UID9237
  • 注册日期2011-04-19
  • 最后登录2011-09-30
  • 粉丝0
  • 关注0
  • 发帖数121
  • 个人主页
  • 来自
  • QQ
  • 生日0-0-0
  • 家乡
  • 铜币0枚
  • 威望707点
  • 银元0个
阅读:1422回复:0

java私塾笔记整理——JDBC

楼主#
更多 发布于:2011-08-20 12:18
java私塾笔记整理——JDBC
 
一.JDBC是什么?
    Java DataBase Connection(类似于IO).
 
二.JDBC怎样实现传输?
    JDBC利用Driver来连接不同的数据库。如Oracle, SQL Server, MySql , DB2.
    Driver(驱动):本质上是一个程序
    1.它是JDBC技术的实现。
    2.总的来说与数据库相关(因为java部分是固定的,而数据库有很多种需要不同的驱动去适应它)
    3.Driver类型: A:JDBC-ODBC桥
                   B:纯本地实现
                   C:部分JAVA实现
                   D:纯JAVA实现
 
三.JDBC可以用一套固定的接口去跟不同的数据库进行交互
   需要掌握如下接口:Driver, Connection, Statement, PreparedStatement, ResultSet。
   实现:跟IO类似,一边Out,一边In。
   不同的是输出的不是流,而是SQL语句。
 
   思路:
   JAVA——>数据库
   1.建立跟数据库的连接
    1.1装在驱动  class.forName(“驱动名称”)
    1.2打开连接  Connection conn = DriverManeger.getConnection(URL,用户名,密码);
   2.执行SQl语句
      2.1得到执行SQL语句的接口
          Statement stmt = conn.createStatement();
           或 PreparedStatement pstmt = conn.PreparedStatement(String sql);
      2.2执行SQL语句
          stmt.executeUpdate(sql);
          或 pstmt.setString(1,值);
          pstmt.executeUpdate();
      2.3 关闭连接
        conn.close();
        stmt.close();
        pstmt.close();
 
   数据库——>JAVA
   1.建立跟数据库的连接
      1.1装在驱动  class.forName(“驱动名称”)
      1.2打开连接  Connection conn = DriverManeger.getConnection(URL,用户名,密码);
   2.执行SQL语句
      2.1得到执行SQL语句的接口
           Statement stmt = conn.createStatement();
           或 PreparedStatement pstmt = conn.PreparedStatement(String sql);
      2.2执行取值,获得从数据库返回的结果集
   3.从ResultSet中获取数据(rs相当于游标)
        while(rs.next())
              a.按名称取值 rs.getString(“字段名”);
              b.按索引取值 rs.getString(索引下标);
    两种方法都是对照ResultSet的。
 
    4.关闭连接
        conn.close();
        rs.close();
        stmt.close();
        pstmt.close();
 
   *用preparedStatment是指预编译的SQL语句,是静态的。
       String sql = “…………(?,?,?,?)”
    将字段名用?代替
       pstmt.setString(索引,值);
       pstmt.setInt(索引,值);
       pstmt.executeUpdate();
    而Statement是动态的。
 
四.事务:
      保证数据库正确
      A.原子性:事务的内部操作为一个整体,要么都成功,要么都失败。
      B.一致性:数据操作前后要满足相同的规则。
      C.隔离性:事物内部数据对外的可见性和可操作性。
      D.稳定性:无论发生任何事情,事务都要保证数据能正确保存到数据库中。
  默认情况下,JDBC将一条数据库语句是为一个完整的事务。
 
 可以关掉默认事务管理:
     conn.setAutoCommit(false);
  在执行完事务后应提交事务:conn.commit();
                            conn.rollback();
  需要时可以取消事务:
 
五.批量操作
   stmt.addBatch(sql);       将多个sql打包
   stmt.executeBatch();
游客

返回顶部