当前位置:网站首页>JDBC数据库连接池练习题

JDBC数据库连接池练习题

2022-08-10 00:26:00 编程的一拳超人


《JDBC数据库连接池练习题》

单选题

1、
下面选项中,能够将游标从当前位置向下移一行的方法是( )。

A、next()
B、absolute(int row)
C、previous()
D、last()
参考答案 :
A
答案说明 :
next() 将游标从当前位置向下移一行; absolute(int row) 将游标移动到此 ResultSet 对象的指定行; previous() 将游标移动到此 ResultSet 对象的上一行; last() 将游标移动到此 ResultSet 对象的最后一行。
2、
请对下列JDBC编程步骤排序()。 A 释放资源 B 获得与数据库的物理连接 C 执行SQL命令 D 注册JDBC Driver E 创建不同类型的Statement F 如果有结果集, 处理结果集

A、ABCDEF
B、DBECFA
C、BDCEFA
D、FEDCBA
参考答案 :
B
答案说明 :
JDBC的使用可以按照以下几个步骤进行: 1.加载并注册数据库驱动 2.通过DriverManager获取数据库连接 3.通过Connection对象获取Statement对象 4.使用Statement对象执行SQL语句 5.操作ResultSet结果集 6.关闭连接,释放资源
3、
下面选项中,用于将参数化的SQL语句发送到数据库的方法是()。

A、prepareCall(String sql)
B、prepareStatement(String sql)
C、registerDriver(Driverdriver)
D、createStatement()
参考答案 :
B
答案说明 :
prepareStatement(String sql) 用于创建一个PreparedStatement对象并将参数化的SQL语句发送到数据库
4、
下列选项,可用于存储结果集的对象是()。

A、ResultSet
B、Connection
C、Statement
D、PreparedStatement
参考答案 :
A
答案说明 :
ResultSet接口用于保存JDBC执行查询时返回的结果集; Connection接口表示Java程序和数据库的连接; Statement接口用于执行静态的SQL语句,并返回一个结果对象; PreparedStatement是Statement的子接口,用于执行预编译的SQL语句。
5、
JDBC中负责与数据库建立连接,提供统一的标准数据源的接口是()。

A、DriverManager
B、Connection
C、Statement
D、ResultSet
参考答案 :
B
答案说明 :
Connection接口表示Java程序和数据库的连接,只有获得该连接对象后才能访问数据库,并操作数据表。
6、
下面选项中,属于QueryRunner类中用于执行增删改语句的方法是()。

A、insert
B、update
C、delete
D、query
参考答案 :
B
答案说明 :
QueryRunner类的update()方法可以执行一个更新(插入、删除、更新)操作
7、
下列对QueryRunner类的常用方法描述错误的是()。

A、Object query(Connection conn,String sql,ResultSetHandler rsh,Object[] params) 执行查询操作,传入的Connection对象可以为空
B、Object query (String sql, ResultSetHandler rsh,Object[] params) 执行查询操作
C、Object query (Connection conn,String sql, ResultSetHandler rsh) 执行一个不需要置换参数的查询操作
D、int update(Connection conn, String sql, ResultSetHandler rsh) 执行一个更新(插入、删除、更新)操作
参考答案 :
A
答案说明 :
Object query(Connection conn,String sql,ResultSetHandler rsh,Object[] params) 执行查询操作,传入的Connection对象不可以为空。
8、
在DBUtils工具包提供的API中,用于封装结果集的是( )。

A、PreparedStatement
B、DBUtils
C、QueryRunner
D、ResultSetHandler
参考答案 :
D
答案说明 :
ResultSetHandler接口用于处理ResultSet结果集,它可以将结果集中的数据转换为不同的形式。
9、
下面关于自定义ResultSetHandler接口实现类的描述,正确的是()。

A、通过重写handle()方法,从而实现结果集的处理
B、通过重写update()方法,实现结果集的处理
C、通过重写query()方法,实现结果集的处理
D、通过重写delete()方法,实现结果集的处理
参考答案 :
A
答案说明 :
ResultSetHandler接口提供了一个单独的方法handle (java.sql.ResultSet rs),可以自定义一个实现ResultSetHandler接口的类,然后通过重写handle()方法,实现结果集的处理
10、
在PreparedStatement接口中用来设置字符串类型的输入参数的方法是()。

A、setInt方法
B、setString方法
C、executeUpdate方法
D、execute方法
参考答案 :
B
答案说明 :
setInt(int parameterIndex, int x) 将指定参数设置为给定的int值; setString(int parameterIndex, String x) 将指定参数设置为给定的String值; executeUpdate() 在此PreparedStatement对象中执行SQL语句; executeQuery() 在此PreparedStatement对象中执行SQL查询,该方法返回的是ResultSet对象。
11、
下面选项中,用于将结果集指针回到第一条记录之前的ResultSet类的方法是( )。

A、first()
B、last()
C、beforeFirst()
D、next()
参考答案 :
C
答案说明 :
last() 将游标移动到此 ResultSet 对象的最后一行; beforeFirst() 将游标移动到此 ResultSet 对象的开头,即第一行之前; next() 将游标从当前位置向下移一行。
12、
下面Statement接口的方法中,用于执行各种SQL语句的是()。

A、executeUpdate(String sql)
B、executeQuery(String sql)
C、execute(String sql)
D、executeDelete(String sql)
参考答案 :
C
答案说明 :
execute(String sql) 用于执行各种SQL语句,该方法返回一个boolean类型的值,如果为true,表示所执行的SQL语句有查询结果,可通过Statement的getResultSet()方法获得查询结果
13、
在Statement接口中,能够执行给定的SQL语句并且可能返回多个结果的方法是( )

A、execute方法
B、executeQuery方法
C、executeUpdate方法
D、getMaxRows方法
参考答案 :
B
答案说明 :
execute(String sql) 用于执行各种SQL语句,该方法返回一个boolean类型的值,如果为true,表示所执行的SQL语句有查询结果; executeUpdate(String sql) 用于执行SQL中的insert、update和delete语句。该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录条数; executeQuery(String sql) 用于执行SQL中的select语句,该方法返回一个表示查询结果的ResultSet对象。
14、
下列选项中,能够执行带参数占位符SQL语句的是()。

A、Statement
B、Connection
C、PreparedStatement
D、ResultSet
参考答案 :
C
答案说明 :
Connection接口表示Java程序和数据库的连接; Statement接口用于执行静态的SQL语句,并返回一个结果对象; PreparedStatement接口扩展了带有参数的SQL语句的执行操作,应用该接口中的SQL语句可以使用占位符“?”代替参数,然后通过setter()方法为SQL语句的参数赋值; ResultSet接口用于保存JDBC执行查询时返回的结果集。
15、
下面关于ResultSet接口中next()方法,说法正确的是( )。

A、将游标移动到此 ResultSet 对象的上一行
B、将游标移动到此 ResultSet 对象的开头
C、将游标移动到此 ResultSet 对象的末尾
D、将游标从当前位置向下移一行
参考答案 :
D
答案说明 :

16、
下面选项中,能够将游标从当前位置向下移一行的方法是()。

A、next()
B、absolute(introw)
C、previous()
D、last()
参考答案 :
A
答案说明 :
next()将游标从当前位置向下移一行; absolute(int row)将游标移动到此 ResultSet 对象的指定行; previous()将游标移动到此 ResultSet 对象的上一行; last()将游标移动到此 ResultSet 对象的最后一行。
17、
下列实现数据库连接的语句中,用来指定JDBC驱动程序的是( )。

A、Class.forName(“com.mysql.cj.jdbc.Driver”);
B、String strConn=“jdbc:sqlserver://LIUZC:1433;DatabaseName=ShopSystem”;
C、String strUser=“sa”;
D、conn=DriverManager.getConnection(strConn,strUser,strPassword);
参考答案 :
A
答案说明 :
A项:com.mysql.cj.jdbc.Driver为指定的驱动 B项:数据库连接地址 C项:数据库名 D项:通过DriverManager获取数据库连接
18、
Connection接口中用于创建一个Statement对象来调用数据库查询的方法是( )。

A、createStatement()
B、prepareCall()
C、prepareStatement()
D、rollback()
参考答案 :
A
答案说明 :
createStatement() 用于创建一个Statement对象并将SQL语句发送到数据库 prepareStatement(String sql) 用于创建一个PreparedStatement对象并将参数化的SQL语句发送到数据库 prepareCall(String sql) 用于创建一个CallableStatement对象来调用数据库存储过程
19、
在ResultSet接口中,能够直接将指针移动到第n条记录的方法是( )。

A、absolute()
B、previous()
C、beforeFirst()
D、next()
参考答案 :
A
答案说明 :
absolute(int row) 将游标移动到此 ResultSet 对象的指定行; previous() 将游标移动到此 ResultSet 对象的上一行; beforeFirst() 将游标移动到此 ResultSet 对象的开头,即第一行之前; next() 将游标从当前位置向下移一行。
20、
用于发送简单的SQL语句,实现SQL语句执行的JDBC类是( )。

A、Connection类
B、Statement类
C、DriverManager类
D、ResultSet类
参考答案 :
B
答案说明 :
Connection接口表示Java程序和数据库的连接; Statement接口用于执行静态的SQL语句,并返回一个结果对象; DriverManager类用于加载JDBC驱动并且创建与数据库的连接; ResultSet接口用于保存JDBC执行查询时返回的结果集。
21、
通过DBUtils工具类实现查询学生表中的所有记录,可以实现封装操作的类是( )。

A、BeanHandler
B、BeanListHandler
C、ColumnListHandler
D、ScalarHandler
参考答案 :
B
答案说明 :
BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,并存放到List里。 查询学生表中的所有记录返回的应该是多条记录,应该将结果集封装到集合。所以选择B
22、
下列选项,DBCP数据库连接池用来设置连接池初始化连接数目的方法是( )。

A、 setInitialSize(int initialSize)
B、 setMinIdle(int minIdle)
C、 setMinPoolSize()
D、 setInitialPoolSize()
参考答案 :
A
答案说明 :
setInitialSize(int initialSize):DBPC设置数据库连接池初始化的连接数目; setMinIdle(int minIdle):DBPC设置数据库连接池最小闲置连接数目; setMinPoolSize():C3P0设置数据库连接池最小连接数目; setInitialPoolSize():C3P0设置数据库连接池初始化的连接数目。
23、
关于DriverManager和DataSource接口中getConnection()方法的区别,解释正确的是()。

A、前者需要close(),而后者不需要close()
B、前者的close()是释放Connection,而后者的close()只会把Connection归还给连接池
C、两者没有区别
D、DataSource的getConnection()每次都会创建新的数据库链接
参考答案 :
B
答案说明 :
前者是关闭连接,释放数据库资源;后者是使用完毕后,连接池会将Connection回收,重新放入连接池以供其他的线程使用。
24、
接口Statement中定义的executeQuery方法的返回类型是( )。

A、ResultSet
B、int
C、boolean
D、无返回值
参考答案 :
A
答案说明 :
executeQuery(String sql) 用于执行SQL中的select语句,该方法返回一个表示查询结果的ResultSet对象。
25、
已知,存在 QueryRunner对象 runner , SQL语句: String sql = “select * from user”; 下面操作中,能实现查询所有记录的选项是()。

A、List list=runner.query(sql, new BeanHandler(User.class));
B、List list=runner.query(sql, new BeanListHandler(User.class));Object num =runner.delete(1, sql);
C、Object list=runner.query(sql, new BeanHandler(User.class));
D、List list=runner.query(sql, new BeanHandler(User.class));
参考答案 :
B
答案说明 :
select * from user查询结果一般为多条记录,应该将结果集封装到集合,使用BeanListHandler比较合适。
26、
在DBUtils工具包提供的API中,用于执行SQL语句的是( )。

A、PreparedStatement
B、DBUtils
C、QueryRunner
D、ResultSetHandler
参考答案 :
C
答案说明 :
QueryRunner类简化了执行SQL语句的代码,它与ResultSetHandler配合就能完成大部分的数据库操作,大大减少了编码量。
27、
下面选项中,属于QueryRunner类的query()方法可执行的操作语句是()。

A、SELECT语句
B、DELETE语句
C、UPDATE语句
D、INSERT语句
参考答案 :
A
答案说明 :
QueryRunner类的query()方法可执行的SQL语句是查询操作,也就是SELECT语句
28、
下面选项中负责管理JDBC驱动程序的类是()。

A、Connection类
B、Statement类
C、DriverManager类
D、ResultSet类
参考答案 :
C
答案说明 :
Connection接口表示Java程序和数据库的连接; Statement接口用于执行静态的SQL语句,并返回一个结果对象; DriverManager类用于加载JDBC驱动并且创建与数据库的连接; ResultSet接口用于保存JDBC执行查询时返回的结果集。
29、
下面选项中,关于DBUtils类中用于装载并注册JDBC驱动程序的方法是()。

A、close()方法
B、closeQuietly()方法
C、commitAndCloseQuietly()方法
D、loadDriver()方法
参考答案 :
D
答案说明 :
close()方法:根据参数不同,可关闭连接或声明或结果集 。 closeQuietly()方法:根据参数不同,可关闭连接或声明或结果集,并隐藏一些在程序中抛出的SQL异常。 commitAndCloseQuietly()方法:提交连接后关闭连接,并隐藏一些在程序中抛出的SQL异常。 loadDriver()方法:装载并注册JDBC驱动程序,如果成功就返回true。
30、
下面关于executeQuery(String sql)方法,说法正确的是()。

A、可以执行insert语句
B、可以执行update语句
C、可以执行select语句
D、可以执行delete语句
参考答案 :
C
答案说明 :
executeQuery() 执行SQL查询,该方法返回的是ResultSet对象。
31、
以下关于JDBC的描述错误的是()。

A、JDBC是一种用于执行SQL语句的JavaAPI
B、JDBC API既支持数据库访问的两层模型,也支持三层模型
C、JDBC由一组用Java编程语言编写的类和接口组成
D、使用JDBC只能连接SQL Server数据库
参考答案 :
D
答案说明 :
JDBC面向MySQL、Oracle等众多关系型数据库。
32、
下面选项, DataSource接口中用于获得数据库连接的是()。

A、Delegate
B、Factory
C、Connection
D、getConnection
参考答案 :
D
答案说明 :
DataSource接口负责与数据库建立连接,并定义了返回值为Connection对象的方法,Connection getConnection() 和Connection getConnection(String username, String password)。
33、
已知,存在 QueryRunner对象 runner , SQL语句:String sql = “select * from user where id=?”;下面操作中,能实现查询指定记录的选项是()。

A、User user=(User)runner.query(sql, new BeanListHandler(User.class), new Object[]{id});
B、User user=(User)runner.query(sql, new BeanHandler(User.class));
C、User user=(User)runner.query(sql, new BeanListHandler(User.class), id);
D、User user=(User)runner.query(sql, new BeanHandler(User.class), new Object[]{id});
参考答案 :
D
答案说明 :
BeanHandler将结果集中的第一行数据封装到一个对应的JavaBean实例中,排除选项A、C;指定查询条件需要使用参数Object[] params,排除选项B,所以答案是D。
34、
下面关于executeQuery(String sql)方法,说法正确的是( )。

A、可以执行insert语句
B、可以执行update语句
C、可以执行select语句
D、可以执行delete语句
参考答案 :
C
答案说明 :
executeQuery(String sql) 用于执行SQL中的select语句,该方法返回一个表示查询结果的ResultSet对象
35、
如果为下列预编译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.setString(“salary”,“2000”);
参考答案 :
B
答案说明 :
setInt(int parameterIndex, int x) 将指定参数设置为给定的int值
36、
ResultSetHandler接口的实现类中,用于封装结果集中的一列数据的是( )。

A、ColumnListHandler
B、MapHandler
C、ArrayHandler
D、BeanHandler
参考答案 :
A
答案说明 :
ColumnListHandler用于将某列属性的值封装到List集合中。
37、
已知SQL语句: select count(*) from customer; 则下面Handler中,最适合将结果集中的数据转换的是()。

A、BeanListHandler
B、ArrayHandler
C、BeanMapHandler
D、ScalarHandler
参考答案 :
D
答案说明 :
select count(*) from 表返回的是一个数字,ScalarHandler封装单条列数据,也可以封装类似count、avg、max、min、sum等聚合函数的执行结果。

多选题

38、
下面选项中,属于QueryRunner类的update()方法可执行的操作语句有( )。

A、SELECT语句
B、DELETE语句
C、UPDATE语句
D、INSERT语句
参考答案 :
B,C,D
答案说明 :
QueryRunner类的update()方法可以执行一个更新(插入、删除、更新)操作
39、
对ResultSetHandler下列实现类的描述正确的有()。

A、BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
B、BeanListHandler:把每条数据的字段值各放入一个JavaBean中,再把所有JavaBean都放入List集合中。
C、ColumnListHandler:将指定列的所有数据,将他们放入一个List集合中。
D、ScalarHandler:将结果集中某一条记录的某一列数据存储成Object对象。
参考答案 :
A,B,C,D
答案说明 :
ResultSetHandler提供了几种常见的实现类: BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。 BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,并存放到List里。 ColumnListHandler:将某列属性的值封装到List集合中。 ScalarHandler:将结果集中某一条记录的某一列数据存储成Object对象。
40、
下列选项中,C3P0数据库连接池创建数据源对象的方式有( )。

A、 通过BasicDataSource类
B、 通过ComboPooledDataSource()构造方法
C、 通过读取配置文件
D、 通过ComboPooledDataSource(String configName)构造方法
参考答案 :
B,D
答案说明 :
使用C3P0数据库连接池时,首先需要创建数据源对象,创建数据源对象可以通过调用ComboPooledDataSource类的构造方法实现。ComboPooledDataSource类有两个构造方法,分别是ComboPooledDataSource()和ComboPooledDataSource(String configName)。
41、
下面选项中,关于DBUtils类中可用于关闭数据连接的方法有( )。

A、close()方法
B、closeQuietly()方法
C、commitAndCloseQuietly()方法
D、loadDriver()方法
参考答案 :
A,B,C
答案说明 :
loadDriver()方法用于装载并注册JDBC驱动程序
42、
下面关于QueryRunner类的构造方法,描述正确的有( )。

A、可以使用默认的构造方法进行构造
B、不能直接构造
C、使用javax.sql.DataSource DataSource作为参数的构造方法
D、可以使用QueryRunnerFactory工厂类来进行构造
参考答案 :
A,C
答案说明 :
可以使用默认的构造方法进行构造和使用javax.sql.DataSource DataSource作为参数的构造方法
43、
QueryRunner类的update(Connection conn, String sql, ResultSetHandler rsh)方法能执行的SQL语句有( )。

A、 select
B、 update
C、 insert
D、 delete
参考答案 :
B,C,D
答案说明 :
QueryRunner类的update(Connection conn, String sql, ResultSetHandler rsh) 方法可以执行一个更新(插入、删除、更新)操作
44、
在JDBC编程中执行完下列SQL语句SELECT name, rank, serialNo FROM employee, 能得到结果集的第一列数据的代码是( )。

A、resultSet.getString(0);
B、resultSet.getString(“name”);
C、resultSet.getString(1);
D、resultSet.getString(“ename”);
参考答案 :
B,C
答案说明 :
ResultSet接口的常用方法中,通过字段的索引获取指定的数据,字段的索引是从1开始编号的;getString(int columnIndex)用于获取指定字段的String类型的值,参数columnIndex代表字段的索引; getString(String columnName)用于获取指定字段的String类型的值,参数columnName代表字段的名称

判断题

45、
JDBC的全称是Java Database Connectivity即Java数据库连接。 它是一套用于执行SQL语句的Java API。

参考答案 :

答案说明 :

填空题

46、
PreparedStatement是Statement的子接口,用于执行
预编译
的SQL语句。

参考答案 :
【预编译】
答案说明 :
Statement提供了一个子类PreparedStatement。PreparedStatement对象可以对SQL语句进行预编译,预编译的信息会存储在PreparedStatement对象中。
47、
Statement接口的executeUpdate(String sql)方法用于执行SQL中的insert、
update
和delete语句。

参考答案 :
【update】
答案说明 :
executeUpdate()方法用于执行SQL中的insert、update和delete语句。该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录条数。
48、
Driver
接口是所有JDBC驱动程序必须实现的接口,该接口专门提供给数据库厂商使用。

参考答案 :
【Driver】
答案说明 :

49、
DBUtils工具中,用于提供关闭连接、装载JDBC驱动程序等常规操作方法的类是
DBUtils

参考答案 :
【DBUtils】
答案说明 :
DBUtils类主要提供了加载JDBC驱动、关闭资源等方法,DBUtils类中的方法一般为静态方法,可以直接使用类名进行调用。
50、
Statement接口的executeQuery(String sql)方法用于执行SQL的
select
语句。

参考答案 :
【select】
答案说明 :

51、
DBCP的中文全称是
数据库连接池

参考答案 :
【数据库连接池】
答案说明 :
DBCP即数据库连接池(DataBase Connection Pool),是Apache组织下的开源连接池实现,也是Tomcat服务器使用的连接池组件。
52、
JDBC
的全称是Java Database Connectivity即Java数据库连接。 它是一套用于执行SQL语句的Java API。

参考答案 :
【JDBC】
答案说明 :
JDBC的全称是Java Database Connectivity即Java数据库连接。它是一套用于执行SQL语句的Java API。
53、
DBUtils核心类库主要包括
DBUtils
类、QueryRunner类和ResultSetHandler接口。

参考答案 :
【DBUtils】
答案说明 :
DBUtils核心类库主要包括DBUtils类、QueryRunner类和ResultSetHandler接口。DBUtils工具主要通过这三个核心API进行JDBC的所有操作。
54、
自定义实现ResultSetHandler接口的类,只要重写
handle()
方法,就可以实现结果集的处理。

参考答案 :
【handle()】
答案说明 :
ResultSetHandler接口提供了一个单独的方法handle (java.sql.ResultSet rs),如果上述实现类没有提供想要的功能,可以自定义一个实现ResultSetHandler接口的类,然后通过重写handle()方法,实现结果集的处理
55、
ResultSet接口中,能将游标移动到此 ResultSet 对象的上一行的方法是
previous()

参考答案 :
【previous()】
答案说明 :

56、
ResultSetHandler接口用于处理
ResultSet
结果集,它可以将结果集中的数据转为不同的形式。

参考答案 :
【ResultSet】
答案说明 :

57、
数据库连接池负责分配、管理和
释放
数据库连接,它允许应用程序重复使用现有的数据库连接,而不是重新建立。

参考答案 :
【释放】
答案说明 :

58、
Connection接口的
[“prepareStatement(String sql)”]
方法用于创建一个PreparedStatement对象来将参数化的SQL语句发送到数据库。

参考答案 :
【prepareStatement()】
答案说明 :

59、
DBCP数据库连接池数据源对象的创建方式有两种,一种是通过BasicDataSource类直接创建数据源对象,另一种是通过读取
dbcpconfig.properties
创建数据源对象。

参考答案 :
【配置文件】
答案说明 :
数据源对象的创建方式有两种,具体如下。 1.通过BasicDataSource类直接创建数据源对象; 2.通过读取配置文件创建数据源对象
60、
JDBC常用API 中,
DriverManager
类用于加载JDBC驱动并且创建与数据库的连接。

参考答案 :
【DriverManager】
答案说明 :

61、
实现了javax.sql.DataSource接口的类称为
数据源

参考答案 :
【数据源】
答案说明 :
习惯上把实现了javax.sql.DataSource接口的类称为数据源,顾名思义,数据源即数据的来源。每创建一个数据库连接,这个数据库连接信息都会存储到数据源中。
62、
ResultSet接口中,能将游标移动到此 ResultSet 对象的最后一行的方法是
afterLast()

参考答案 :
【last()】
答案说明 :

原网站

版权声明
本文为[编程的一拳超人]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_48053866/article/details/126256833