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()即可获得一个数据库连接。
- JDBC编程笔记
- JDBC高级编程笔记
- JDBC编程学习笔记整理
- MySQL笔记-jdbc编程步骤
- JDBC编程学习笔记整理(1)
- android学习笔记5-JDBC编程
- JAVA数据库编程(JDBC技术)-入门笔记
- 数据库编程(JDBC mybaties hibernate)笔记
- jdbc编程
- JDBC编程
- JDBC编程
- jdbc编程
- jdbc 编程
- JDBC编程
- JDBC编程
- JDBC编程
- JDBC编程
- JDBC编程
- android -- FileObserver 类用法及限制
- FAQ/LikelyUnlikely __builtin_expect
- C++指针的概念解读[超详细]
- linux中printf(“”)与printf(“\n”)的差别
- MyEclipse import com.sun.image.codec.jpeg.JPEGCodec 错误
- JDBC编程笔记
- 蓝桥杯第4届第二题
- 深入剖析Java中的装箱和拆箱
- iOS- 详解文本属性Attributes
- vs2008 启动分析器 蓝屏
- CodeForce-245B-Internet Address
- java面向对象复习
- MySql注入科普
- json数组对象和对象数组