JDBC、工具类DBUtils
一.JDBC
1.什么是JDBC
JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除等操作。
2.JDBC开发流程
导入JDBC驱动包
加载并注册JDBC驱动
创建数据库连接
创建Statement对象
遍历查询结果
关闭连接,释放资源
3.连接数据库常见的问题
- ClassNotFoundException --- 类未找到异常
- Connection refuse --- 数据库连接被拒绝异常
- Access denied for user --- 用户名与密码错误异常
4.execute,executeQuery,executeUpdate的区别
在JDBC中,execute、executeQuery和executeUpdate这三个方法通常用于执行SQL语句。它们的区别在于它们处理的结果和所执行的SQL语句的类型。
executeQuery:这个方法主要用于执行查询操作,即SELECT语句。它返回一个ResultSet对象,表示查询结果。
executeUpdate:这个方法主要用于执行修改操作,如INSERT、UPDATE或DELETE。它返回一个整数,表示受影响的行数。
execute:这个方法可以用于执行任何类型的SQL语句。如果SQL语句是查询(SELECT),它返回一个ResultSet对象;如果SQL语句是修改(INSERT、UPDATE、DELETE等),它返回一个整数。这个方法提供了最大的灵活性,但也是最不明确的,因为它可以用于任何类型的SQL语句。
5.SQL注入攻击
SQL注入攻击是指利用SQL漏洞越权获取数据的黑客行为,其根源是未对原始SQL中的敏感字符做特殊处理。
解决方法:放弃Statement改用PreparedStatement处理SQL。
6.JDBC中的事务管理
(1)事务
事务是以一种可靠的、一致的方式,访问和操作数据库的程序单元。
(2) JDBC两种事务模式 - 自动提交事务模式
每执行一次写操作SQL,自动提交事务
自动提交开启方法: conn.setAutoCommit(true)
自动事务是JDBC默认行为,此模式无法保证多数据一致性 - 手动提交事务模式
显式调用commit()与rollback()方法管理事务
手动提交开启方法: conn.setAutoCommit(false)
手动提交事务可保证多数据一致性,但必须手动调用提交/回滚方法
(3) 事务回滚
如果事务中的某个点发生故障,则所有更新都可以回滚到事务开始之前的状态。如果没有发生故障,则通过以完成状态提交事务来完成更新。
二.Apache Commons DBUtils - commons-dbutils是 Apache提供的开源 JDBC工具类库
- 它是对JDBC的简单封装,学习成本极低
- 使用commons-dbutils可以极大简化JDBC编码工作量
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。