单选题
1.下列选项中哪一个是serializable可以解决的问题( )
A、脏读 |
B、脏读、不可重复读 |
C、脏读、不可重复读、虚读 |
D、以上三个中都不能解决 |
正确答案:C |
2.如果要使用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 |
3.以下对JDBC描述不正确的是()
A、JDBC是sun公司提供的一套访问数据库的java接口 |
B、在java程序中可以直接通过jdbc,而不需借助其他东西就可以访问数据库 |
C、JDBC出现的目的是对数据库访问提供统一的规范,方便程序员开发 |
D、通过JDBC访问数据库,还需要使用到JDBC的实现 |
正确答案:B |
4.下列哪一项是连接池( )
A、C3P0 |
B、mybatis |
C、Hibernate |
D、DBUtils |
正确答案:A |
5.下列哪一个不是DBCP配置项中必须的( )
A、driverClassName |
B、Url |
C、maxWait |
D、Username |
正确答案:C |
6.以下代码中可以正确提交事务的是( )
A、conn.setAutoCommit(false)。 |
B、conn.commit()。 |
C、conn.rollback()。 |
D、conn.setAutoCommit(true)。 |
正确答案:B |
7.在JDBC配置项中maxActive表示( )
A、最大连接数量 |
B、最小空闲连接 |
C、最大空闲连接 |
D、初始化连接 |
正确答案:A |
8.如果为下列预编译的SQL的第三个问号赋值,那么正确的选项是哪一个?()
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.setInt(“salary”,“2000”); |
正确答案:B |
9.下列jdbc的预编译SQL语句中,占位符使用正确的是()
A、“” |
B、user.getUsername |
C、? |
D、以上都不对 |
正确答案:C |
10.以下哪个是JDBC中事务控制的方式( )
A、conn.setAutoCommit(false) |
B、new QueryRunner() |
C、update(conn, sql , params) |
D、DbUtils.commitAndClose(conn) |
正确答案:A |
11.以下对javaBean描述不正确的是( )
A、必须实现接口:java.io.Serializable |
B、提供私有字段:private 类型 字段名 |
C、提供getter/setter方法 |
D、提供无参的构造方法 |
正确答案:A |
12.使用DriverManager注册驱动下列说法正确的是?()
A、驱动被注册两次 |
B、后期易于程序扩展 |
C、驱动被注册一次 |
D、后期易于程序维护 |
正确答案:A |
13.下面的描述正确的是什么?( )
A、PreparedStatement继承自Statement |
B、Statement继承自PreparedStatement |
C、ResultSet继承自Statement |
D、CallableStatement继承自PreparedStatement |
正确答案:A |
14.以下是SQL注入问题解决方法的是()
A、使用PreparedStatement预处理对象执行sql语句 |
B、不使用数据库存放客户的信息 |
C、SQL可以方便用户,无需解决。 |
D、使用Statement预处理对象执行SQL语句 |
正确答案:A |
15.下列哪一项是repeatable read存在的问题( )
A、虚读 |
B、不可重复读、虚读 |
C、脏读、不可重复读、虚读 |
D、以上三个中都不存在 |
正确答案:A |
16.以下对BeanListHandler描述正确的是( )
A、将结果集中的第一条记录封装到一个Object[]数组中 |
B、将结果集中的每一条记录封装到一个List集合中 |
C、将结果集中第一条记录封装到一个指定的javaBean中。 |
D、将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中 |
正确答案:D |
17.以下对C3P0描述不正确的是( )
A、C3P0开源免费的连接池 |
B、使用C3P0不需要导包 |
C、C3P0的默认配置文件是c3p0-config.xml |
D、使用C3P0需要导包 |
正确答案:B |
18.以下连接池的描述不正确的是( )
A、连接池是存放数据库连接对象的容器。 |
B、使用连接池可以调高程序的性能。 |
C、结束数据库访问时,把数据库连接还给连接池,而不是关闭连接。 |
D、使用连接池会造成内存的浪费,不建议使用。 |
正确答案:D |
19.以下提交MySQL事务操作的命令是()
A、start transaction |
B、commit transaction |
C、commit |
D、rollback |
正确答案:C |
20.下列哪个不是JDBC事务操作( )
A、conn.setAutoCommit(false); |
B、Conn.close; |
C、conn.commit(); |
D、conn.rollback(); |
正确答案:B |
多选题
21.以下对SQL注入问题描述正确的是()
A、SQL注入是一种恶意的行为 |
B、SQL注入问题在现阶段无法解决 |
C、SQL注入式一种欺骗服务器执行恶意sql语句的行为 |
D、SQL注入问题会造成用户信息的泄露 |
正确答案:ACD。 |
22.下列哪些是ResultSet的方法?( )
A、getObject(String name); |
B、getString(int index); |
C、getInt(int index); |
D、getDouble(int index) |
正确答案:ABCD。 |
23.以下对JDBC描述正确的是: ()
A、JDBC是sun公司提供的一套访问数据库的java接口 |
B、在java程序中可以直接通过jdbc,而不需借助其他东西就可以访问数据库。 |
C、JDBC出现的目的是对数据库访问提供统一的规范,方便程序员开发。 |
D、通过JDBC访问数据库,还需要使用到JDBC的实现。 |
正确答案:ACD。 |
24.并发访问可能会出现问题有( )
A、脏读 |
B、不可重复读 |
C、虚读 |
D、幻读 |
正确答案:ABCD。 |
25.下列哪些结果集是用List封装的( )
A、ArrayListHandler |
B、BeanListHandler |
C、MapListHandler |
D、ColumnListHandler |
正确答案:ABCD。 |
26.下列哪些是read committed存在的问题( )
A、虚读 |
B、不可重复读 |
C、脏读 |
D、以上三个中都不能解决 |
正确答案:AB。 |
27.下列哪种不属于可重复读( )
A、serializable |
B、repeatable read |
C、read committed |
D、read uncommitted |
正确答案:ACD。 |
28.下列哪些结果集是封装一行数据( )
A、ArrayHandler |
B、ArrayListHandler |
C、BeanHandler |
D、BeanListHandler |
正确答案:AC。 |
29.使用JDBC访问数据库对事务操作的代码的是( )
A、conn.setAutoCommit(false)。 |
B、conn.commit()。 |
C、conn.rollback()。 |
D、conn.setAutoCommit(true)。 |
正确答案:ABCD。 |
30.下列哪些是C3P0配置项中必须的( )
A、jdbcUrl |
B、driverClass |
C、user |
D、password |
正确答案:ABCD。 |
判断题
31.MapListHandler是将结果集中每一条记录封装到了Map<String,Object>集合中,再将这些Map封装到List集合中。MapListHandler是将结果集中每一条记录封装到了Map<String,Object>集合中,再将这些Map封装到List集合中。
T、√ |
F、× |
正确答案:T。 |
32.将Java语言和JDBC结合起来使程序员只须写一遍程序就可以让它在任何平台上运行。将Java语言和JDBC结合起来使程序员只须写一遍程序就可以让它在任何平台上运行。
T、√ |
F、× |
正确答案:T。 |
33.C3P0配置项中user表示用户名C3P0配置项中user表示用户名
T、√ |
F、× |
正确答案:T。 |
34.BeanListHandler将一条记录封装到一个JavaBean中BeanListHandler将一条记录封装到一个JavaBean中
T、√ |
F、× |
正确答案:F。 |
35.SQL注入问题在现阶段尚未有方法解决SQL注入问题在现阶段尚未有方法解决
T、√ |
F、× |
正确答案:F。 |
36.创建JDBC工具类不能避免重复的”获得数据库连接”创建JDBC工具类不能避免重复的”获得数据库连接”
T、√ |
F、× |
正确答案:F。 |
37.DBCP不是tomcat内置的连接池。DBCP不是tomcat内置的连接池。
T、√ |
F、× |
正确答案:F。 |
38.insert语句、update语句都可以使用queryRunner中的update方法执行insert语句、update语句都可以使用queryRunner中的update方法执行
T、√ |
F、× |
正确答案:T。 |
39.一个事务中的多个操作可以部分成功,部分失败。一个事务中的多个操作可以部分成功,部分失败。
T、√ |
F、× |
正确答案:F。 |
40.DBUtils回滚并关闭连接的方法是DbUtils.rollbackAndClose(conn);DBUtils回滚并关闭连接的方法是DbUtils.rollbackAndClose(conn);
T、√ |
F、× |
正确答案:T。 |