现在的位置: 首页 > 综合 > 正文

Java面试题之十一

2013年10月05日 ⁄ 综合 ⁄ 共 1668字 ⁄ 字号 评论关闭

六十一、JDBC如何做事务处理?

JavaBean数据库操作中,一项事务是指由一条或多条对数据库更新的sql语句所组成的一个不可分割的工作单元。只有当事务中的所有操作都正常完成了,整个事务才能被提交到数据库,如果有一项操作没有完成,就必须撤消整个事务,这就是通常所说的事务脚本模式。我们通过提交commit()或是回滚rollback()来结束事务的操作。关于事务操作的方法都位于接口java.sql.Connection中。

在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的,可以通过调用setAutoCommit(false) 来禁止自动提交事务。然后就可以把多条更新数据库的sql语句做为一个事务,在所有操作完成之后,调用commit()来进行整体提交。倘若其中一项sql操作失败,就不会执行commit()方法,而是产生相应的sqlexception,此时就可以捕获异常代码块中调用rollback()方法撤消事务。

 

六十二、写出几个在Jdbc中常用的接口

Connection: 与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果
PreparedStatement: 表示预编译的 SQL 语句的对象。
Statement: 用于执行静态 SQL 语句并返回它所生成结果的对象。
CallableStatement: 用于执行 SQL 存储过程的接口。
ResultSet: 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 

 

六十三、简述你对Statement,PreparedStatement,CallableStatement的理解

statement用于执行静态 SQL 语句并返回它所生成结果的对象,在执行时确定sql
PreparedStatement表示预编译的SQL语句的对象。SQL 语句被预编译并且存储在 PreparedStatement 对象中。然后可以使用此对象高效地多次执行该语句,可以传参数,在得到PreparedStatement对象时确定sql.
CallableStatement用于执行 SQL 存储过程的接口。如果有输出参数要注册说明是输出参数。 

 

六十四、Java中访问数据库的步骤?
1)注册驱动;
2)建立连接;
3)创建Statement
4)执行sql 语句;
5)处理结果集(若sql 语句为查询语句);
6)关闭连接。
PreparedStatement 被创建时即指定了SQL 语句,通常用于执行多次结构相
同的SQL 语句。

 

六十五、执行存储过程用那一个类,如何操作输出参数?(操作)

CallableStatement c=con. prepareCall ("{call getCustomerName(?,?)}");

c.setString(1,"1");

c.registerOutParameter(2,java.sql.Types.VARCHAR);

c.execute();

c.getString(2);

 

六十六、Class.forName 的作用?为什么要用?

作用是要求JVM查找并加载指定的类。最熟悉的就是JDBC连接数据库的时候加载驱动类。注册一个数据库驱动,将驱动加载到当前的JVM中。

 

六十七、Jdo是什么?

JDO 是Java 对象持久化的新的规范,为java data object 的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO 产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC 只是面向关系数据库(RDBMS)JDO 更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。(o/rMapping工具集合处理)。

抱歉!评论已关闭.