设为首页 加入收藏

TOP

JDBC常见面试题集锦(一)(三)
2014-11-24 01:08:28 来源: 作者: 【 】 浏览:18
Tags:JDBC 见面 试题集锦
); 我们得在执行CallableStatement之前注册OUT参数。关于这个更详细的资料可以看这里。

JDBC的批处理是什么,有什么好处?

有时候类似的查询我们需要执行很多遍,比如从CSV文件中加载数据到关系型数据库的表里。我们也知道,执行查询可以用Statement或者PreparedStatement。除此之外,JDBC还提供了批处理的特性,有了它,我们可以在一次数据库调用中执行多条查询语句。

JDBC通过Statement和PreparedStatement中的addBatch和executeBatch方法来支持批处理。

批处理比一条条语句执行的速度要快得多,因为它需要很少的数据库调用,想进一步了解请点这里。

JDBC的事务管理是什么,为什么需要它?

默认情况下,我们创建的数据库连接,是工作在自动提交的模式下的。这意味着只要我们执行完一条查询语句,就会自动进行提交。因此我们的每条查询,实际上都是一个事务,如果我们执行的是DML或者DDL,每条语句完成的时候,数据库就已经完成修改了。

有的时候我们希望由一组SQL查询组成一个事务,如果它们都执行OK我们再进行提交,如果中途出现异常了,我们可以进行回滚。

JDBC接口提供了一个setAutoCommit(boolean flag)方法,我们可以用它来关闭连接自动提交的特性。我们应该在需要手动提交时才关闭这个特性,不然的话事务不会自动提交,每次都得手动提交。数据库通过表锁来管理事务,这个操作非常消耗资源。因此我们应当完成操作后尽快的提交事务。在这里有更多关于事务的示例程序。

如何回滚事务?

通过Connection对象的rollback方法可以回滚事务。它会回滚这次事务中的所有修改操作,并释放当前连接所持有的数据库锁。

译注:先到这吧,后面还有20题,明天继续。都比较基础,不过有些同学可能长期使用ORM框架,就当复习一下了,万一面试问到呢~
首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据挖掘决策树算法ID3通俗演绎 下一篇用PowerBI观察经济与健康的关系

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: