单选题
1.以下是SQL注入问题解决方法的是()
A、使用PreparedStatement预处理对象执行sql语句 |
B、不使用数据库存放客户的信息 |
C、SQL可以方便用户,无需解决。 |
D、使用Statement预处理对象执行SQL语句 |
正确答案:A |
2.以下对JDBC描述不正确的是()
A、JDBC是sun公司提供的一套访问数据库的java接口 |
B、在java程序中可以直接通过jdbc,而不需借助其他东西就可以访问数据库 |
C、JDBC出现的目的是对数据库访问提供统一的规范,方便程序员开发 |
D、通过JDBC访问数据库,还需要使用到JDBC的实现 |
正确答案:B |
3.JDBC中executeQuery(String sql)的返回值是什么()
A、Object |
B、ResultSet |
C、int |
D、List<Object> |
正确答案:B |
4.以下对DBUtils描述不正确的是( )
A、使用DBUtils简化了JDBC的开发 |
B、DBUtils是apache commons组件一个成员 |
C、使用DBUtils需要连接池技术 |
D、使用DBUtils不需要sql语句 |
正确答案:D |
5.下列关闭顺序正确的是()
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 |
6.通过Statement执行sql语句,添加数据库中的数据下列方法正确的是?()
A、statement.Update(sql); |
B、statement.executeQuery(sql); |
C、statement.executeUpdate(sql); |
D、statement.executeUpdate(); |
正确答案:C |
7.MySQL的默认隔离级别是( )
A、serializable |
B、repeatable read |
C、read committed |
D、read uncommitted |
正确答案:B |
8.以下对read uncommitted描述错误的是()
A、读未提交 |
B、一个事务读到另一个事务没有提交的数据 |
C、存在脏读、不可重复读、虚读问题 |
D、能解决脏读问题 |
正确答案:D |
9.以下哪个不是Dbutils核心功能( )
A、QueryRunner(DataSource ds); |
B、update(String sql, Object... params); |
C、query(String sql, ResultSetHandler<T> rsh, Object... params) ; |
D、executeUpdate(); |
正确答案:D |
10.以commons-dbutils与JDBC的关系是( )
A、commons-dbutils是一个对JDBC进行简单封装的工具。 |
B、commons-dbutils是sun公司提供的用来代替JDBC的新技术。 |
C、commons-dbutils必须与连接池一起使用。 |
D、commons-dbutils中的QueryRunner只能用于查询操作 |
正确答案:A |
11.以下对serializable 描述错误的是( )
A、串行化 |
B、同时只能执行一个事务,相当于事务中的单线程 |
C、不存在并发问题 |
D、能解决脏读,不可重复读问题 |
正确答案:D |
12.以下代码中可以正确提交事务的是( )
A、conn.setAutoCommit(false)。 |
B、conn.commit()。 |
C、conn.rollback()。 |
D、conn.setAutoCommit(true)。 |
正确答案:B |
13.以下对虚读描述正确的是( )
A、一个事务读到了另一个事务未提交的数据 |
B、一个事务读到了另一个事务已经提交(update)的数据。 |
C、一个事务读到了另一个事务已经提交(insert)的数据。 |
D、只能执行一个事务,相当于事务中的单线程。 |
正确答案:C |
14.如果为下列预编译的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 |
15.以下提交MySQL事务操作的命令是()
A、start transaction |
B、commit transaction |
C、commit |
D、rollback |
正确答案:C |
16.以下对BeanListHandler描述正确的是( )
A、将结果集中的第一条记录封装到一个Object[]数组中 |
B、将结果集中的每一条记录封装到一个List集合中 |
C、将结果集中第一条记录封装到一个指定的javaBean中。 |
D、将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中 |
正确答案:D |
17.下列对Statement执行sql语句说法正确的是()
A、executeQuery(sql)可以执行insert语句 |
B、executeQuery(sql)可以执行select语句 |
C、 executeUpdate(sql)只能执行update语句 |
D、executeUpdate(sql)可以执行select语句 |
正确答案:B |
18.在JDBC配置项中maxIdle表示( )
A、最大连接数量 |
B、最小空闲连接 |
C、最大空闲连接 |
D、初始化连接 |
正确答案:C |
19.Oracle的默认隔离级别是( )
A、serializable |
B、repeatable read |
C、read committed |
D、read uncommitted |
正确答案:C |
20.下列哪个不是MySQL的事务操作( )
A、start transaction; |
B、commit; |
C、rollback; |
D、Connection; |
正确答案:D |
多选题
21.以下对自定义连接池描述正确的是( )
A、需要实现实现接口 javax.sql.DataSource |
B、释放资源时,不执行close()方法 |
C、释放资源时,执行close()方法 |
D、用完连接,将连接添加到连接池中 |
正确答案:ABD。 |
22.对隔离级别描述正确的是( )
A、read committed: 避免脏读. |
B、 repeatable read: 避免脏读和不可重复读 |
C、serializable: 避免脏读,不可重复读,虚读 |
D、 read uncommitted: 脏读,不可重复读,虚读都有可能发生 |
正确答案:ABCD。 |
23.以下对事务描述正确的是( )
A、事务是逻辑上的一组操作。 |
B、一个事务中的多个操作可以都成功。 |
C、一个事务中的多个操作可以都失败。 |
D、一个事务中的多个操作可以部分成功,部分失败。 |
正确答案:ABC。 |
24.以下对隔离级别的安全性描述正确的是( )
A、serializable > repeatable read |
B、repeatable read > read committed |
C、read committed > read uncommitted |
D、repeatable read < read committed |
正确答案:ABC。 |
25.哪些不是MySQL的默认隔离级别( )
A、serializable |
B、repeatable read |
C、read committed |
D、read uncommitted |
正确答案:ACD。 |
26.以下对隔离级别的效率描述正确的是( )
A、serializable < repeatable read |
B、repeatable read < read committed |
C、repeatable read > read committed |
D、read committed < read uncommitted |
正确答案:ABD。 |
27.下列哪种不属于读已提交( )
A、serializable |
B、repeatable read |
C、read committed |
D、read uncommitted |
正确答案:ABD。 |
28.下列哪些是JDBC配置项的基本配置( )
A、maxActive |
B、minIdle |
C、maxIdle |
D、initialSize |
正确答案:ABCD。 |
29.下列哪些是QueryRunner的方法( )
A、update(String sql, Object... params) |
B、query(String sql, ResultSetHandler<T> rsh, Object... params) |
C、query(String sql, Object... params) |
D、update(String sql, ResultSetHandler<T> rsh, Object... params) |
正确答案:AB。 |
30.下列哪些结果集是封装多行数据( )
A、ArrayHandler |
B、ArrayListHandler |
C、BeanHandler |
D、BeanListHandler |
正确答案:BD。 |
判断题
31.JDBC中Statement 执行executeQuery(String sql)方法能得到ResultSet结果集JDBC中Statement 执行executeQuery(String sql)方法能得到ResultSet结果集
T、√ |
F、× |
正确答案:T。 |
32.ColumnListHandler是将结果集中指定的列的字段值,封装到一个List集合中。ColumnListHandler是将结果集中指定的列的字段值,封装到一个List集合中。
T、√ |
F、× |
正确答案:T。 |
33.ScalarHandler可以封装一列的数据。ScalarHandler可以封装一列的数据。
T、√ |
F、× |
正确答案:F。 |
34.executeUpdate(String sql)方法不能执行delete语句executeUpdate(String sql)方法不能执行delete语句
T、√ |
F、× |
正确答案:F。 |
35.自定义连接池需要实现接口 javax.sql.DataSource。自定义连接池需要实现接口 javax.sql.DataSource。
T、√ |
F、× |
正确答案:T。 |
36.JDBC获取连接的配置:“jdbc:mysql://localhost:3306/mydb”中mydb代表数据库名JDBC获取连接的配置:“jdbc:mysql://localhost:3306/mydb”中mydb代表数据库名
T、√ |
F、× |
正确答案:T。 |
37.JDBC是sun公司提供的一套访问数据库的java接口。JDBC是sun公司提供的一套访问数据库的java接口。
T、√ |
F、× |
正确答案:T。 |
38.自定义连接池时需要实现DataSource接口自定义连接池时需要实现DataSource接口
T、√ |
F、× |
正确答案:T。 |
39.JDBC中Statement 执行executeUpdate(String sql)方法能得到ResultSet结果集JDBC中Statement 执行executeUpdate(String sql)方法能得到ResultSet结果集
T、√ |
F、× |
正确答案:F。 |
40.JDBC工具类抽取的目的减少重复代码JDBC工具类抽取的目的减少重复代码
T、√ |
F、× |
正确答案:T。 |