JDBC题库
一、 填空题
- JDBC ,是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问。它由一组用Java语言编写的类和接口组成。
- JDBC API:供程序员调用的接口与类,集成在java.sql和 javax.sql包中。
- 简单地说,JDBC 可做三件事: 与数据库建立连接 、发送操作数据库的语句、处理结果。
- 加载JDBC驱动是通过调用方法 java.lang.Class.forName() 实现的。
- JDBC中与数据库建立连接是通过调用 DriverManager类的静态方法
getConnection(url,user,password) 实现的。
- 有三种 Statement对象:Statement、 preparedStatemen 、CallableStatement(从PreparedStatement 继承)。
- ResultSet 对象是executeQuery()方法的返回值,它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。
- ResultSet对象自动维护指向当前数据行的游标。每调用一次 next() 方法,游标向下移动一行。
- 在JDBC中,事务操作成功后,系统将自动调用 commit() 提交,否则调用rollback()回滚。
- 在JDBC中,事务操作方法都位于接口java.sql.Connection中。可以通过调用
setAutoCommit(false) 来禁止自动提交。
- JDBC中,事务开始的边界不是那么明显,它会开始于组成当前事务的所有 statement 中的第一个被执行的时候。
二、 选择题
1. |
以下选项中有关Connection描述错误的是( D )(选择一项) |
|
A. |
Connection是Java程序与数据库建立的连接对象,这个对象只能用来连接 数据库,不能执行SQL语句。 |
|
B. |
JDBC的数据库事务控制要靠Connection对象完成。 |
|
C. |
Connection对象使用完毕后要及时关闭,否则会对数据库造成负担。 |
|
D. |
只用MySQL和Oracle数据库的JDBC程序需要创建Connection对象,其他 数据库的JDBC程序不用创建Connection对象就可以执行CRUD操作 |
2. |
使用Connection 的哪个方法可以建立一个PreparedStatement接口?( B )(选择一项) |
|
A. |
createPrepareStatement() |
|
B. |
prepareStatement() |
|
C. |
createPreparedStatement() |
|
D. |
preparedStatement() |
3. |
下面的描述错误的是( B )(选择一项) |
|
A. |
Statement的executeQuery()方法会返回一个结果集 |
|
B. |
Statement的executeUpdate()方法会返回是否更新成功的boolean值 |
|
C. |
Statement的execute ()方法会返回boolean值 ,含义是是否返回结果集 |
|
D. |
Statement的executeUpdate()方法会返回值是int类型,含义是DML操作影响记录数 |
4. |
下列选项有关ResultSet说法错误的是( AD )(选择二项) |
|
A. |
ResultSet是查询结果集对象,如果JDBC执行查询语句没有查询到数据,那 么ResultSet将会是null值 |
|
B. |
判断ResultSet是否存在查询结果集,可以调用它的next()方法 |
|
C. |
如果Connection对象关闭,那么ResultSet也无法使用 |
|
D. |
ResultSet有一个记录指针,指针所指的数据行叫做当前数据行,初始状态下记录指针指向第一条记录。 |
5. |
在JDBC编程中执行完下列SQL语句 SELECT name, rank, serialNo FROM employee, 能得到rs的第一列数据的代码是( BC )(选择二项) |
|
A. |
rs.getString(0); |
|
B. |
rs.getString("name"); |
|
C. |
rs.getString(1); |
|
D. |
rs.getString("ename"); |
6. |
SELECT COUNT(*) FROM emp;这条SQL语句执行,如果员工表中没有任何数据, 那么ResultSet中将会是( B )(选择一项) |
|
A. |
null |
|
B. |
有数据 |
|
C. |
不为null,但是没有数据 |
|
D. |
以上都选项都不对 |
7. |
以下选项关于PreparedStatement的说法错误的是( C )(选择一项) |
|
A. |
PreparedStatement继承了Statement ,可以执行预编译的SQL语句 |
|
B. |
PreparedStatement可以有效的防止SQL注入 |
|
C. |
PreparedStatement只能执行带问号占位符的预编译SQL,不能执行SQL语句 |
|
D. |
PreparedStatement可以存储预编译的SQL语句,从而提升执行效率 |
8. |
如果为下列预编译SQL的第三个问号赋值,那么正确的选项是( B )(选择一项) UPDATE emp SET ename=?,job=?,salary=? WHERE empno=? |
|
A. |
pst.setInt("3",2000); |
|
B. |
pst.setInt(3,2000); |
|
C. |
pst.setFloat("salary",2000); |
|
D. |
pst.setString("salary","2000"); |
三、 判断题
- JDBC对Java程序员而言是接口模型,对实现与数据库连接的服务提供商而言是API。( F )
- JDBC访问数据库步骤:1:加载一个Driver驱动;2:创建数据库连接Connection。3:创建SQL命令发送器Statement。4:通过Statement发送SQL命令并得到结果。5:处理结果。6:关闭数据库资源。( T )
- ResultSet里的数据一行一行排列,每行有多个字段,且有一个记录指针,指针所指的数据行叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,可以使用ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录,就应该使用while循环。( T )
- ResultSet对象自动维护指向当前数据行的游标。每调用一次next()方法,游标向下移动一行。 循环完毕后指回第一条记录。( F )
- 作为一种好的编程风格,应在不需要Statement对象和Connection对象时显式地关闭它们。( T )
- 用户不必关闭ResultSet。当它的 Statement 关闭、重新执行或用于从多结果序列中获取下一个结果时,该ResultSet将被自动关闭。( T )
- 要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接是才可以使用的,所以在使用结束之后有可能其他的Statement还需要连接,所以不能先关闭Connection。( T )
- 在JDBC中,事务操作缺省是需要手动提交的。( F )
四、 简答题
- 有哪些不同类型的JDBC驱动?
A JDBC-ODBC Bridge plus ODBC Driver(类型1):它使用ODBC驱动连接数据库。需要安装ODBC以便连接数据库,正因为这样,这种方式现在已经基本淘汰了。
B Native API partly Java technology-enabled driver(类型2):这种驱动把JDBC调用适配成数据库的本地接口的调用。
C Pure Java Driver for Database Middleware(类型3):这个驱动把JDBC调用转发给中间件服务器,由它去和不同的数据库进行连接。用这种类型的驱动需要部署中间件服务器。这种方式增加了额外的网络调用,导致性能变差,因此很少使用。
D Direct-to-Database Pure Java Driver(类型4):这个驱动把JDBC转化成数据库使用的网络协议。这种方案最简单,也适合通过网络连接数据库。不过使用这种方式的话,需要根据不同数据库选用特定的驱动程序,比如OJDBC是Oracle开发的Oracle数据库的驱动,而MySQL Connector/J是MySQL数据库的驱动。
- JDBC的操作步骤主要有哪些?
1:加载一个Driver驱动;
2:创建数据库连接Connection。
3:创建SQL命令发送器Statement。
4:通过Statement发送SQL命令并得到结果。
5:处理结果。
6:关闭数据库资源。
- execute,executeQuery,executeUpdate的区别是什么?
- JDBC的ResultSet是什么?
- 相对于Statement,PreparedStatement的优点是什么?
- JDBC的事务管理是什么,为什么需要它?
JDBC题库的更多相关文章
- Hibernate考试试题(部分题库)含答案
Hibernate考试试题 (题库) 1. 在Hibernate中,下列说法正确的有( ABC ).[选三项] A.Hibernate是一个开放源代码的对象关系映射框架 B.Hibernate对JD ...
- 猿题库 iOS 客户端架构设计
原文: http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=444322139&idx=1&sn=c7bef4d439f4 ...
- NOI题库刷题日志 (贪心篇题解)
这段时间在NOI题库上刷了刷题,来写点心得和题解 一.寻找平面上的极大点 2704:寻找平面上的极大点 总时间限制: 1000ms 内存限制: 65536kB 描述 在一个平面上,如果有两个点( ...
- NOI题库 1768最大子矩阵 题解
NOI题库 1768最大子矩阵 题解 总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大 ...
- 猿题库 iOS 客户端架构设计-唐巧
序 猿题库是一个拥有数千万用户的创业公司,从20013年题库项目起步到2015年,团队保持了极高的生产效率,使我们的产品完成了五个大版本和数十个小版本的高速迭代. 在如此快速的开发过程中,如何保证代码 ...
- NOI题库 09:图像旋转翻转变换
NOI题库开始的题,也是略水,当然也是大水,所以彼此彼此 09:图像旋转翻转变换 总时间限制: 1000ms 内存限制: 65536kB 描述 给定m行n列的图像各像素点灰度值,对其依次进行一系列操作 ...
- NOI题库-小学奥赛QwQ
今天Loli教育我们让我们来看看NOI题库的奥赛部分,不过,为何是小学的( ⊙ o ⊙ )啊!感觉智商被各种侮辱. 余数相同问题: 描述 已知三个正整数 a,b,c. 现有一个大于1的整数x,将其作为 ...
- OnlineJudge 离线题库采集
过段时间要把以前的OJ换掉,我负责VirtualJudge的部分.需要用C与PHP写一个Linux下的VJudge. 在此之前,将以前写给自己学弟学妹用的OJ离线题库的采集程序改进了一下.支持国内一些 ...
- Relax信息学题库须知
Relax信息学题库须知 1.本题库于2017.10.15开始建设(建设中),私聊我便可成为题库管理员,关注我即可成为题库成员.我的QQ:2026503022,微信:dy060207. 2.本题库的建 ...
随机推荐
- POJ 2031 Building a Space Station
3维空间中的最小生成树....好久没碰关于图的东西了..... Building a Space Station Time Limit: 1000MS Memory Li ...
- 修改dedecms默认文章来源 "未知"改为关键词
在dedecms后台发表文章时文章来源是可选的,有时我们没有选择或没填写,那么前台默认文章来源即“未知”.如何将dedecms默认文章来源改为自己想要的关键词呢?即将“未知”改为“keyword”呢? ...
- SqlServer中字符串和日期类型的转换
SQL Server Date 函数 定义和用法 CONVERT() 函数是把日期转换为新数据类型的通用函数. CONVERT() 函数可以用不同的格式显示日期/时间数据. 语法 CONVERT(da ...
- 第二天 django apache
1. 475 brew tap homebrew/apache 476 brew install mod_wsgi 477 ls /usr/local/Cellar/mod_wsgi/4.5.7 ...
- hiho #1325 : 平衡树·Treap
#1325 : 平衡树·Treap 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:小Hi,我发现我们以前讲过的两个数据结构特别相似. 小Hi:你说的是哪两个啊? ...
- memcache 与 mencached扩展的区别
memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的.需要频繁访问数据库的网站访问速 ...
- BZOJ 3736: [Pa2013]Karty
Description 一个0/1矩阵,求能覆盖所有 \(1\) ,同时不覆盖所有 \(0\) 的矩阵,使这个面积最大. Sol DP/悬线法. 首先,所求的矩阵一定可以覆盖所有贴边的悬线. 用悬线法 ...
- gcc编译时对'xxxx'未定义的引用问题
gcc编译时对’xxxx’未定义的引用问题 gcc编译时对’xxxx’未定义的引用问题 原因 解决办法 gcc 依赖顺序问题 在使用gcc编译的时候有时候会碰到这样的问题,编译为.o(obj) 文件没 ...
- 给dos命令“.bat”文件换图标
最近客户有个需求:给企业建立一个FTP服务器,并且给不同的部门分配不同的目录和管理权限. 这个好实现!直接安装serv-u,进行一番设置,搞定! 不过客户嫌登陆FTP操作麻烦,输入ip,输入账号什么的 ...
- Colorful tree
cnbb 我被数组清零卡了一天.. 子树改色询问子树颜色数.. 先考虑颜色为x的节点对祖先答案的贡献,那么我们考虑把所有这些节点都搞出来,按dfs序排序,然后考虑每个节点a掌管的祖先是它和按dfs序的 ...