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();
  需要时可以取消事务:conn.close();

五.批量操作
   Statement stmt = conn.createStatement();

   stmt.addBatch(sql); //将多个sql打包
   stmt.executeBatch();//批量执行

一、概述: JDBC从物理结构上说就是Java语言访问数据库的一套接口集合。从本质上来说就是调用者(程序员)和实现者(数据库厂商)之间的协议。JDBC的实现由数据库厂商以驱动程序的形式提供。JDBC API 使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。 ODBC:基于C语言的数据库访问接口。 JDBC也就是Java版的ODBC。 JDBC的特性:高度的一致性、简单性(常用的接口只有4、5个)。 1.在JDBC中包括了两个包:java.sqljavax.sql。 ① java.sql 基本功能。这个包中的类和接口主要针对基本的数据库编程服务,如生成连接、执行语句以及准备语句和运行批处理查询等。同时也有一些高级的处理,比如批处理更新、事务隔离和可滚动结果集等。 ② javax.sql 扩展功能。它主要为数据库方面的高级操作提供了接口和类。如为连接管理、分布式事务和旧有的连接提供了更好的抽象,它引入了容器管理的连接池、分布式事务和行集等。 注:除了标出的Class,其它均为接口。 API 说明 java.sql.Connection 与特定数据库的连接(会话)。能够通过getMetaData方法获得数据库提供的信息、所支持的SQL语法、存储过程和此连接的功能等信息。代表了数据库java.sql.Driver 每个驱动程序类必需实现的接口,同时,每个数据库驱动程序都应该提供一个实现Driver接口的类。 java.sql.DriverManager (Class) 管理一组JDBC驱动程序的基本服务。作为初始化的一部分,此接口会尝试加载在”jdbc.drivers”系统属性中引用的驱动程序。只是一个辅助类,是工具。 java.sql.Statement 用于执行静态SQL语句并返回其生成结果的对象。 java.sql.PreparedStatement 继承Statement接口,表示预编译的SQL语句的对象,SQL语句被预编译并且存储在PreparedStatement对象中。然后可以使用此对象高效地多次执行该语句。 java.sql.CallableStatement 用来访问数据库中的存储过程。它提供了一些方法来指定语句所使用的输入/输出参数。 java.sql.ResultSet 指的是查询返回的数据库结果集。 java.sql.ResultSetMetaData 可用于获取关于ResultSet对象中列的类型和属性信息的对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值