单选题
1.以下对事务描述不正确的是( )
A、事务是逻辑上的一组操作。 |
B、一个事务中的多个操作可以都成功。 |
C、一个事务中的多个操作可以都失败。 |
D、一个事务中的多个操作可以部分成功,部分失败。 |
正确答案:D |
2.下列哪一项是read uncommitted存在的问题( )
A、虚读 |
B、不可重复读、虚读 |
C、脏读、不可重复读、虚读 |
D、以上三个中都不存在 |
正确答案:C |
3.以下哪个不是JDBC开发步骤中的环节()
A、创建表 |
B、加载驱动 |
C、执行sql语句 |
D、释放资源 |
正确答案:A |
4.C3P0配置项中maxPoolSize表示( )
A、连接池初始化时创建的连接数 |
B、连接池中拥有的最大连接数 |
C、连接池保持的最小连接数 |
D、一次性创建的新连接数 |
正确答案:B |
5.以下对不可重复读描述正确的是( )
A、一个事务读到了另一个事务未提交的数据 |
B、一个事务读到了另一个事务已经提交(update)的数据。 |
C、一个事务读到了另一个事务已经提交(insert)的数据。 |
D、只能执行一个事务,相当于事务中的单线程。 |
正确答案:B |
6.以下对SQL注入问题描述错误的是()
A、SQL注入是一种恶意的行为。 |
B、SQL注入问题在现阶段无法解决 |
C、SQL注入式一种欺骗服务器执行恶意sql语句的行为。 |
D、SQL注入问题会造成用户信息的泄露。 |
正确答案:B |
7.下列哪一个不是DBCP配置项中必须的( )
A、driverClassName |
B、Url |
C、maxWait |
D、Username |
正确答案:C |
8.如果要使用JDBC连接mysql的mydb数据库,那么url应该是()
A、jdbc:mysql//:localhost:3306/mydb |
B、jdbc:mysql://localhost:3306/mydb |
C、mysql:jdbc//:localhost:3306/mydb |
D、mysql:jdbc://localhost:3306/mydb |
正确答案:B |
9.以下对脏读描述正确的是( )
A、一个事务读到了另一个事务未提交的数据 |
B、一个事务读到了另一个事务已经提交(update)的数据。 |
C、一个事务读到了另一个事务已经提交(insert)的数据。 |
D、只能执行一个事务,相当于事务中的单线程。 |
正确答案:A |
10.哪个不是JDBC用到的接口和类?()
A、System |
B、Class |
C、Connection |
D、ResultSet |
正确答案:A |
11.下面的描述正确的是什么?( )
A、PreparedStatement继承自Statement |
B、Statement继承自PreparedStatement |
C、ResultSet继承自Statement |
D、CallableStatement继承自PreparedStatement |
正确答案:A |
12.通过Statement执行sql语句,实现从数据库中查询数据返回一个查询结果集,下列方法正确的是?()
A、statement.execute(); |
B、statement.executeQuery(sql); |
C、statement.executeUpdate(sql); |
D、statement.executeQuery(); |
正确答案:B |
13.以下是SQL注入问题解决方法的是()
A、使用PreparedStatement预处理对象执行sql语句 |
B、不使用数据库存放客户的信息 |
C、SQL可以方便用户,无需解决。 |
D、使用Statement预处理对象执行SQL语句 |
正确答案:A |
14.下列关闭顺序正确的是()
A、resultSet.close();statement.close();connection.close(); |
B、statement.close();connection.close();resultSet.close(); |
C、resultSet.close();connection.close();statement.close(); |
D、connection.close();statement.close();resultSet.close(); |
正确答案:A |
15.执行下列sql语句SELECT COUNT(*) FROM EMP;这条sql语句执行,如果员工表EMP中没有任何数据,那么得到的ResultSet中的内容为什么?()
A、 null |
B、有一些默认的数据 |
C、 为空“”,不为null |
D、 以上说法都不对; |
正确答案:A |
16.以下对JDBC描述不正确的是()
A、JDBC是sun公司提供的一套访问数据库的java接口 |
B、在java程序中可以直接通过jdbc,而不需借助其他东西就可以访问数据库 |
C、JDBC出现的目的是对数据库访问提供统一的规范,方便程序员开发 |
D、通过JDBC访问数据库,还需要使用到JDBC的实现 |
正确答案:B |
17.QueryRunner的构造器正确的是( )
A、QueryRunner(dataSource) |
B、QueryRunner(Connection) |
C、QueryRunner(Statement) |
D、QueryRunner(ResultSet) |
正确答案:A |
18.查询表中总共用多少条数据,使用哪一个结果集( )
A、ScalarHandler |
B、ArrayHandler |
C、ColumnListHandler |
D、KeyedHandler |
正确答案:A |
19.下列哪种属于读已提交( )
A、serializable |
B、repeatable read |
C、read committed |
D、read uncommitted |
正确答案:C |
20.下列哪一项是read committed存在的问题( )
A、虚读 |
B、不可重复读、虚读 |
C、脏读、不可重复读、虚读 |
D、以上三个中都不存在 |
正确答案:B |
多选题
21.下列哪些结果集需要javaBean( )
A、BeanHandler |
B、ArrayListHandler |
C、ArrayHandler |
D、BeanListHandler |
正确答案:AD。 |
22.以下对不可重复读描述不正确的是( )
A、一个事务读到了另一个事务未提交的数据 |
B、一个事务读到了另一个事务已经提交(update)的数据。 |
C、一个事务读到了另一个事务已经提交(insert)的数据 |
D、只能执行一个事务,相当于事务中的单线程。 |
正确答案:ACD。 |
23.以下对JDBC描述正确的是: ()
A、JDBC是sun公司提供的一套访问数据库的java接口 |
B、在java程序中可以直接通过jdbc,而不需借助其他东西就可以访问数据库。 |
C、JDBC出现的目的是对数据库访问提供统一的规范,方便程序员开发。 |
D、通过JDBC访问数据库,还需要使用到JDBC的实现。 |
正确答案:ACD。 |
24.下列说法正确的是()
A、JDBC规范定义驱动接口:java.sql.Driver |
B、MySQL驱动包提供了驱动接口实现类 |
C、DriverManager工具类,提供注册驱动的方法 |
D、注册驱动方法registerDriver()没有参数 |
正确答案:ABC。 |
25.以下对PreparedStatement描述正确的是()
A、PreparedStatement对象可以解决SQL注入漏洞 |
B、PreparedStatement对象使用时采用?作为占位符 |
C、conn.prepareStatement(sql)可以创建PreparedStatement对象 |
D、PreparedStatement对象和Statement对象的使用完全一样。 |
正确答案:ABC。 |
26.以下对JDBC API描述正确的是: ()
A、DriverManager的作用是加载驱动和获取数据库连接 |
B、Connection是数据库连接,可以创建执行SQL语句的对象。 |
C、Statement是执行sql的对象。 |
D、通过解析ResultSet可获取sql执行的结果。 |
正确答案:ABCD。 |
27.下列选项中哪些是repeatable read可以解决的问题( )
A、脏读 |
B、不可重复读 |
C、虚读 |
D、以上三个中都不能解决 |
正确答案:AB。 |
28.自定义连接池时需要的进行哪些操作( )
A、编写一个类实现DataSource接口 |
B、重写getConnection方法 |
C、初始化多个连接在内存中 |
D、编写归还连接的方法 |
正确答案:ABCD。 |
29.以下连接池的描述正确的是( )
A、连接池是存放数据库连接对象的容器。 |
B、使用连接池可以调高程序的性能。 |
C、结束数据库访问时,把数据库连接还给连接池,而不是关闭连接。 |
D、使用连接池会造成内存的浪费,不建议使用。 |
正确答案:ABC。 |
30.下列对C3P0方法描述正确的是( )
A、new ComboPooledDataSource(); 使用默认配置文件 |
B、getConnection();获取连接 |
C、C3P0不能读取默认的配置文件 |
D、new ComboPooledDataSource(“名称”); 使用指定配置文件 |
正确答案:ABD。 |
判断题
31.DBCP是一个开源的连接池DBCP是一个开源的连接池
T、√ |
F、× |
正确答案:T。 |
32.DBCP配置文件的后缀名是.properties。DBCP配置文件的后缀名是.properties。
T、√ |
F、× |
正确答案:T。 |
33.JDBC可以为多种数据库提供访问入口JDBC可以为多种数据库提供访问入口
T、√ |
F、× |
正确答案:T。 |
34.)SQL注入问题可以使用预处理对象来解决SQL注入问题可以使用预处理对象来解
T、√ |
F、× |
正确答案:T。 |
35.SQL注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令SQL注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令
T、√ |
F、× |
正确答案:T。 |
36.事务的原子性为事务的不可分割,组成事务的各个逻辑单元不可分割事务的原子性为事务的不可分割,组成事务的各个逻辑单元不可分割
T、√ |
F、× |
正确答案:T。 |
37.DBCP配置项中acquireIncrement代表连接池无空闲连接可用时,一次性创建的新连接数DBCP配置项中acquireIncrement代表连接池无空闲连接可用时,一次性创建的新连接数
T、√ |
F、× |
正确答案:T。 |
38.JDBC由一组Java工具类和接口组成。JDBC由一组Java工具类和接口组成。
T、√ |
F、× |
正确答案:T。 |
39.Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法
T、√ |
F、× |
正确答案:T。 |
40.并发访问是可能会出现一个事务读到了另一个事务未提交的数据,导致查询结果不一致并发访问是可能会出现一个事务读到了另一个事务未提交的数据,导致查询结果不一致
T、√ |
F、× |
正确答案:T。 |