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编码工作量

XY
4 声望1 粉丝

下一篇 »
决策树

引用和评论

0 条评论