六十一、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工具集合处理)。