JDBC编程笔记

来源:互联网 发布:python编的著名游戏 编辑:程序博客网 时间:2024/05/20 11:49

1. JDBC的全称是Java Database Connectivity,即Java 数据库连接,可以执行sql语句的Java API(Application Programming Interface)。

2. 使用JDBC开发的数据库应用可以跨平台,也可以跨数据库,当然,前提是使用标准SQL语句。 

3. Sun公司只是提供了面向数据库编程的接口,即JDBC API,各个数据库厂商负责接口的具体实现,也就是各个数据库的驱动程序。java程序员只需面向JDBC接口编程即可。

4. JDBC可以完成以下三个工作:

     1. 与数据库建立连接

     2. 执行SQL语句

     3. 返回SQL语句的执行结果

5. 数据库驱动程序是JDBC程序和数据之间的转换层,数据库驱动程序负责将JDBC调用映射成特定的数据库调用。

6. JDBC比ODBC(Open Database Connectivity)更安全,更易部署。

7. 常用的数据库驱动程序实现:直接与数据库实例交互。智能的,知道数据库使用的底层协议。

8. JDBC 编程步骤:
      //加载数据库驱动
    1. Class.forName(DriverClass);
      //通过DriverManager获取数据库连接
     2. DriverManager.getConnection(String url, String user, String password);
     //通过Connection对象创建Statement对象
     3. createStatement(); prepareStatement(String sql); prepareCall(String sql);
     //使用Statement执行SQL语句
     4. execute(); executeUpdate(); executeQuery()
     //操作结果集
      ResultSet 
9. 创建可滚动,可更新的结果集:connection.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
    resultSet.updateXXX().resultSet.updateRow();
10. Blob(Binary Long Object),二进制长对象。插入:prepareStatement.setBinaryStream。读取:resultSet.getBlob().getBytes()
11. 通过ResultSet.getMetaData()获取到ResultSetMetaData,用于描述ResultSet

12. 事务:原子性,一致性,隔离性,持久性。

13. connection.commit();connection.rollback();

14. 自动提交:DDL和DCL语句都会导致事务立即提交,或者程序正常退出。

       手动提交:使用commit。

15. 自动回滚:系统错误或程序强行退出。

      手动回滚:使用rollback

16. 批量更新:Statement.addBatch()... statement.executeBatch();

17. Connection的getMetaData()方法,获取DatabaseMetaData对象。

18. 数据库连接池是Connection对象的工厂。常用参数:数据库初始连接数,最大连接数,最小连接数,每次增加的容量。

19. JDBC的数据库连接池使用java.sql.DataSource标识,DataSource是接口,通常由商用服务器实现,也有一些开源组织提供实现:DBCP和C3P0等。

      C3P0比DBCP更胜一筹:C3P0可自动清理connection,statement和resultset对象。

      使用:new DataSource实现类ds,调用ds.getConnection()即可获得一个数据库连接。

0 0
原创粉丝点击