JavaEE学习笔记(二)

一、选择题
1.下面哪一项不是JDBC的工作任务?(C
A)与数据库建立连接 B)操作数据库,处理数据库返回的结果
C)在网页中生成表格 D)向数据库管理系统发送SQL语句
2.下面哪一项不是加载驱动程序的方法?( A
A)通过DriverManager.getConnection方法加载
B)调用方法 Class.forName
C)通过添加系统的jdbc.drivers属性
D)通过registerDriver方法注册
3.关于分页显示,下列的叙述哪一项是不正确的?( A
A)只编制一个页面是不可能实现分页显示的
B)采用一至三个页面都可以实现分页显示
C)分页显示中,记录集不必在页面跳转后重新生成
D)分页显示中页面显示的记录数可以随用户输入调整
4.在建立JSP网站目录时需要遵循一些规则,以下规则错误的是:( B
A)每个主要栏目开设一个相应的子目录
B)所有flash, avi, ram, quicktime 等多媒体文件存放在根目录下
C)根目录一般只存放index.htm以及其他必须的系统文件
D)目录建立应以最少的层次提供最清晰简便的访问结构
5.如果将E:\MyWeb作为JSP网站目录,需要修改哪个文档?( A
A)server.xml B)server.htm C)index.xml D)index.htm
6.DriverManager类的getConnection(String url,String user,String password)方法中,参数url的格式为jdbc:<子协议>:<子名称>,下列哪个url是不正确的?( D
A)”jdbc:mysql://localhost:3306/数据库名”
B)”jdbc:odbc:数据源”
C)”jdbc:oracle:thin@host:端口号:数据库名”
D)”jdbc:sqlserver://172.0.0.1:1443;DatabaseName=数据库名”
7.在JDBC中,下列哪个接口不能被Connection创建(D )。
A)Statement B)PreparedStatement
C)CallableStatement D)RowsetStatement
8.下面是加载JDBC数据库驱动的代码片段:
try{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
}
catch(ClassNotFoundException e){
out.print(e);
}
该程序加载的是哪个驱动?( A
A)JDBC-ODBC桥连接驱动 B)部分Java编写本地驱动
C)本地协议纯Java驱动 D)网络纯Java驱动
9.下面是创建Statement接口并执行executeUpdate方法的代码片段:
conn=DriverManager.getConnection(“jdbc:odbc:book”,"","");
stmt=conn.createStatement();
String strsql=“insert into book values(‘TP003’, ‘ASP.NET’,‘李’,‘清华出版社’,35)”;
n=stmt.executeUpdate(strsql);
代码执行成功后n的值为 (A )。
A)1 B)0 C)-1 D)一个整数
10.下列代码中rs为查询得到的结果集,代码运行后表格的每一行有几个单元格(B
while(rs.next()){
out.print("");
out.print(""+rs.getString(1)+"");
out.print(""+rs.getString(2)+"");
out.print(""+rs.getString(3)+"");
out.print(""+rs.getString(“publish”)+"");
out.print(""+rs.getFloat(“price”)+"");
out.print("");
}
A)4 B)5 C)6 D)不确定
11.下面的代码是连接哪个数据库的驱动加载片段(A
try{
Class.forName(“oracle.jdbc.driver.OracleDriver”);
}
catch(Exception e){
out.print(e.toString());
}
A)Oracle B)Sql Server
C)MySql D)不确定
12.下面的代码是连接哪个数据库的驱动加载片段( B
try{
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
}
catch(Exception e){
out.print(e.toString());
}
A)Oracle B)Sql Server
C)MySql D)不确定
13.查询结果集ResultSet对象是以统一的行列形式组织数据的,执行ResultSet rs = stmt.executeQuery (“select bid,name,author,publish,price from book”);语句,得到的结果集rs的列数为(B
A)4 B)5
C)6 D)不确定
14.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(“select * from book”);
下面哪项对该rs描述正确的是( B
A)只能向下移动的结果集 B)可上下滚动的结果集
C)只能向上移动的结果集 D)不确定是否可以滚动
15.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(“select * from book”);
下面哪项对该rs描述正确( A
A)不能用结果集中的数据更新数据库中的表
B)能用结果集中的数据更新数据库中的表
C)执行update方法能更新数据库中的表
D)不确定
16.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(“select * from book”);
下面哪项对该rs描述正确( B
A)数据库中表数据变化时结果集中数据不变
B)数据库中表数据变化时结果集中数据同步更新
C)执行update方法能与数据库中表的数据同步更新
D)不确定
17.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(“select * from book”);
rs.first();
下面哪项对该rs描述正确( A
A)rs.isFirst()为真
B)rs.ifLast()为真
C)rs.isAfterLast()为真
D)rs.isBeforeFirst()为真
18.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(“select * from book”);
rs.first();rs. previous();
下面哪项对该rs描述正确( D
A)rs.isFirst()为真
B)rs.ifLast()为真
C)rs.isAfterLast()为真
D)rs.isBeforeFirst()为真
19.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(“select * from book”);
rs.last();rs.next();
下面哪项对该rs描述正确( C
A)rs.isFirst()为真
B)rs.ifLast()为真
C)rs.isAfterLast()为真
D)rs.isBeforeFirst()为真
20.给出了如下的查询条件字符串String condition=“insert book values(?,?,?,?,?)”;下列哪个接口适合执行该SQL查询(B
A)Statement
B)PrepareStatement
C)CallableStatement
D)不确定
二、判断题 (正确填T,错误填F)
1.JDBC构建在ODBC基础上,为数据库应用开发人员、数据库前台工具开发人员提供了一种标准,使开发人员可以用任何语言编写完整的数据库应用程序。(F
2.数据库服务与Web服务器需要在同一台计算机上。(F
3.JDBC加载不同数据库的驱动程序,使用相应的参数可以建立与各种数据库的连接。(T
4.Connection.createStatement()不带参数创建Statement对象,不能够来回的滚动读取结果集。( T
5.使用数据库连接池需要烦琐的配置,一般不宜使用。(F
6.应用程序分页显示记录集时,不宜在每页都重新连接和打开数据库。( T
7.JDBC中的URL提供了一种标识数据库的方法,使DriverManage类能够识别相应的驱动程序。(T
8.用户发布Web应用程序,必须改%TOMCAT_HOME%\conf\server.xml文件。(T
9.进行分页,可调用JDBC的规范中有关分页的接口。(F
10.JDBC的URL字符串是由驱动程序的编写者提供的,并非由该驱动程序的使用者指定。(T
11.ResultSet结果集,每一次rs可以看到一行,要在看到下一行,必须使用next()方法移动当前行。(F
12.如果需要在结果集中前后移动或随机显示某一条记录,这时就必须得到一个可以滚动的结果集。( T
13.Statement对象提供了int executeUpdate(String sqlStatement)方法,用于实现对数据库中数据的添加、删除和更新操作。(T
14.Statement对象的executeUpdate(String sqlStatement)方法中,sqlStatement参数是由insert、delete和update等关键字构成的Sql语句,函数返回值为查询所影响的行数,失败返回-1。(F
15.使用CachedRowSetImpl对象可以节省数据库连接资源,因为这个对象可以保存ResultSet对象中的数据,它不依赖与Connection对象,并且继承了ResultSet的所有方法。(T
三、填空题
1.JDBC的英文全称是_ Java Data Base Connectivity _,中文意义是 Java数据库连接 _
2.简单地说,JDBC能够完成下列三件事:与一个数据库建立连接(connection)、
向数据库发送SQL语句(statement) __、 处理数据库返回的结果(resultset) _ __ 。
3.JDBC主要由两部分组成:一部分是访问数据库的高层接口,即通常所说的 _ JDBC API __;另一部分是由数据库厂商提供的使Java程序能够与数据库连接通信的驱动程序,即 JDBC Database Driver _
4.目前,JDBC驱动程序可以分为四类:
JDBC-ODBC桥 _ 部分用Java来编写的本地API驱动程序 __、 JDBC网络纯Java驱动程序 _ __、
本地协议纯Java驱动程序
5.数据库的连接是由JDBC 的
_ DriverManager类 ____管理的。
6.下面的代码建立SQL Server数据库的连接,请填空:
try{ Class.forName(" _ com.mysql.jdbc.Driver __ “);
}
创建连接的代码如下:
try{ //和数据库建立连接
conn=
DriverManager.getConnection(
" jdbc:mysql: __//127.0.0.1:1433;DataBaseName=booklib”,“root”,"");
……
conn.close();
}
catch(Exception e){
out.println(e.toString());
}
7.查询结果集ResultSet对象是以统一的行列形式组织数据的,执行ResultSet rs = stmt.executeQuery (“select bid,name,author,publish,price from book”);语句,得到的结果集rs第一列对用 bid ;而每一次rs只能看到 行,要在看到下一行,必须使用 next() 方法移动当前行。ResultSet对象使用 getXXX() 方法获得当前行字段的值。
8.stmt为Statement对象,执行String sqlStatement = "delete from book where bid=‘tp1001’ ";语句后,删除数据库表的记录需要执行stmt.executeUpdate ( sqlStatement ); 语句。
9.下面代码是使用数据库连接池获得连接的代码片段:
Connection conn;
Context initCtx=new InitialContext();
Context ctx=(Context)initCtx.lookup(“java:comp/env”);
//获取连接池对象
Object obj=(Object)ctx.lookup(“jdbc/dataBook”);
//类型转换
javax.sql.DataSource ds=(javax.sql.DataSource)obj;
//得到连接
conn=ds. getConnection() ;
四、思考题
1.什么是JDBC编程接口?
2.试列举一个你在编程和调试中碰到的数据库问题及其解决办法。
3.如何实现记录集的行操作?
4.进行记录定位的方法有哪些?
5.什么是数据库连接池?如何使用?
6.使用纯Java驱动操作mysql数据库的步骤?
7.加载Sql Server 2000纯Java驱动程序的代码是什么?
8.使用预处理语句和存储过程有什么好处?
9.使用CachedRowSetImpl类有什么好处?
10.如何使用滚动的结果集?

你可能感兴趣的:(JavaEE学习笔记(二))