博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java面试题之十一 (转)
阅读量:7095 次
发布时间:2019-06-28

本文共 1739 字,大约阅读时间需要 5 分钟。

hot3.png

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

转载于:https://my.oschina.net/Chaos777/blog/163520

你可能感兴趣的文章
Android Studio 第六十二期 - Android框架
查看>>
PCIE hotplug 调试小结
查看>>
我的友情链接
查看>>
对Hibernate完成持久化的认识及总结
查看>>
Windows phone8 基础篇(三)常用控件(一)
查看>>
leetCode 299. Bulls and Cows 哈希
查看>>
编译安装Redis Stable最新版本
查看>>
CnetOS启动流程
查看>>
LVM扩缩--lvm缩小swap,根分区在线扩容
查看>>
C++模板学习
查看>>
我的php学习笔记:php通用采集程序
查看>>
Ruby-数字&字符串
查看>>
iptables -F 与 -X 区别
查看>>
網路壅塞引發的後續問題
查看>>
Java 解惑手册 读书笔记
查看>>
罗森伯格参编中国综合布线系统工程国家标准
查看>>
mysql创建表时指定存储目录
查看>>
活动目录实战之九 windows 2008 r2 AD 站点的规划
查看>>
RAC 网路结构 network
查看>>
抽象层
查看>>