一、JDBC:可以为多种关系型数据库DBMS,提供统一的访问方式,目的是用Java来操作数据库.
- JDBC API : 提供各种操作访问接口,Connection、Statement、PreparedStatement ResultSet
- JDBC DriverMananger : 管理不同的数据库驱动
- 各种数据库驱动 : 相应的数据库厂商提供的(第三方公司提供),连接\直接操作数据库.
二、JDBC API 主要功能:
- DriverMananger : 管理JDBC驱动 Connection: 连接数据库(通过Drivermananger产生)
- Statement(PreparedStatement) : 增删改查 (通过Connection产生)
CallableStatment:调用数据库中的存 - 储过程/存储函数(通过Connection产生) Result:返回的结果集 (通过Statement等产生)
(1).Connection产生操作数据库对象:
- Connection产生Statement对象 : createStatement().
- Connection产生preparedstatement对象 : preparestatement().
- Connection产生CallableStatement对象 : prepareCall().
(2).Statement操作数据库:
- 增删改 : executeUpdate()
- 查询 : executeQuery()
ResultSet :保存结果集
next() : 光标下移,判断是否有下一条数据;返回true/false
previous() : 光标上移
getXxx(字段名/位置) : 获取具体的字段值
(3).PreparedStatement操作数据库:
增删改 : executeUpdate()
查询 : executeQuery()
赋值操作 : setXxx()
(4).PreparedStatement和Statement在使用时的区别:
Statement : | PreparedStatement: |
---|---|
sql (创建sql语句) | sql(可能存在占位符?) (创建sql语句) |
executeUpdate(sql) (执行sql) | PrepareStatement(sql) (在创建PreparedStatement对象时,将sql预编译) |
[x] | (PreparedStatement(接口名加d) pstmt = conn.PrepareStatement(方法名不加d)(sql)) |
[x] | executeUpdate() (执行sql) |
[x] | setXxx()替换占位符? |
(5).PreparedStatement的优点:
- 代码的可读性和可维护性.
- PreparedStatement尽最大可能提高性能.
- 最重要的一点是极大地提高了安全性.
(6).JDBC访问数据库的具体步骤:
- 导入驱动,加载具体的驱动类
- 与数据库建立连接
- 发送sql语句,执行
- 处理结果集