《JDBC》笔试1套
综合卷(数据库+JDBC+JavaWeb基础)

1. 下面语句错误的原因是:Update departments set department_id=300 where department_id=60; ERROR 位于第1 行:ORA-02292: 违反完整约束条件(HR.EMP_DEPT_FK) - 已找到子记录日志A.where条件语法错误B.违反主键约束,department_id为300的记录已经存在C.60号部门下已经有员工,修改60号部门编号将违反完整性约束条件D.60号部门不存在答案:C2. 下面哪条语句可以取出薪水最高的前三个人:A.select * from (select * from employees order by salary );B.select * from (select * from employees order by salary desc ) where rownum<=3;C.select * from (select * from employees order by salary ) where rownum<=3;D.select * from employees where rownum<=3 order by salary desc;答案:B3. 下面哪种情况会使没有完成的事务“隐式”提交:A.执行多个查询语句B.执行CommitC.执行create table 命令D.服务器掉电答案:C4. 哪一子句可实现SELECT 语句查询员工平均工资小于5000的部门信息:A.GROUP BY dept_id HAVING AVG(sal) < 5000B.GROUP BY AVG(sal) HAVING AVG(sal) < 5000C.GROUP BY dept_id WHERE AVG(sal) < 5000D.GROUP BY AVG(sal) < 5000答案:A5. SQL语言中修改表结构的命令是:A.MODIFY TABLEB.MODIFY STRUCTUREC.ALTER TABLED.ALTER STRUCTURE答案:C6. 在Oracle中,用于在多个会话之间控制对数据的并发访问的是:A.锁B.索引C.分区D.键答案:A7. 当你执行以下查询语句:SELECT empno,enameFROM empWHERE empno =7782 OR empno =7876;在WHERE语句中,可以实现与OR相同功能的操作符是:A.INB.BETWEEN … AND …C.LIKED.AND答案:A8. 下面关于PreparedStatement的说法错误的是:A. PreparedStatement继承了StatementB. PreparedStatement可以有效的防止SQL注入C. PreparedStatement不能用于批量更新的操作D. PreparedStatement可以存储预编译的Statement,从而提升执行效率解答:C9. 下面关于Oracle数据库连接URI正确的拼写格式是:A. jdbc:oracle:thin:@hostip:1521:oracledbnameB. jdbc/oracle/thin/@hostip:1521/oracledbnameC. jdbc:oracle/thin/@hostip:1521/oracledbnameD. jdbc:oracle:thin/@hostip:1521/oracledbname解答:A10. 下面关于MySQL数据库连接URI正确的拼写格式是:A. jdbc/mysql://hostip:3306/mysqldbnameB. jdbc:mysql://hostip:3306:mysqldbnameC. jdbc/mysql://hostip:3306/mysqldbnameD. jdbc:mysql://hostip:3306/mysqldbname解答:D11. Oracle数据库连接端口号是:A. 8080B. 1521C. 3306D. 8888解答:B12. MySQL数据库连接端口号是:A. 8080B. 1521C. 3306D. 8888解答:C13. 题目代码的功能是:使浏览器正文的“welcome tarena”显示蓝色。
JDBC(oracle)java测试题

JDBC(oracle)考试试卷考试时间:一个小时考题总分:100分制一、选择题,20题共60分(每小题3分多选不给分)1工资加上奖金是月薪水,下列Sql语句计算出来的每月工资是否准确( A)select ename , salary , bonus , salary+bonus month_sal from emp ;A.不准确,bonus列数据可能存在null值, null值和任何数据做算数运算 , 结果都是nullB.准确,oracle会自动把数字类型的null值在做运输的时候转换成0C.准确,oracle忽略null值,不计入运算D.不准确,Sql语句中月薪的算法公式错误。
2插入数据时关于字符数据和数字数据的处理说法正确的是( A)A.字符数据要用单引号引起来,数字数据不用B.字符数据和数字数据都需要单引号引起来C.字符数据要用双引号引起来,数字数据不用D.字符数据和数字数据都需要双引号引起来3下列属于数据操作语言的是 (A,B )A.insertB.updateC.createD.select4设置每页显示20行的Sql Plus命令是 (A D)A.set pagesize 20B.set page 20C.set size 20D.set pages 205查询当前帐户下有多少个表的sql语句是 (A )A.select count(*) from user_tables ;B.select count(*) from tables ;C.select count(*) from users ;D.select count(*) from user_name_tables ;6 Sql语句select round(45.925,0),trunc(45.925) from dual;执行后, round(45.925,0)和trunc(45.925)的结果分别是 ( B)A.45,45B.46,45C.45,46D.46,467、在oracle中,下列函数中能把字符类型数据转换成日期类型数据的函数是 (D )A.to_char()B.add_months()st_day()D.to_date()8按emp表ename升序排列,下列sql语句正确的是 (AD )A.select ename , salary from emporder by ename asc ;B.select ename , salary from emporder by ename desc ;C.select ename , salary from emporder by salary asc ;D.select ename , salary from emporder by ename ;9下列说法正确的是: ( AC)A.一个表只允许一个主键B. 一个表可以有多个主键C.数据库会为主键自动创建对应的唯一索引D.主键只表示该字段不允许为空10 delect 和truncate 都可以用来删除表内容,一下描述正确的是? (AB )A.Truncate 不需要 commitB.Delete 需要commitC.Truncate在提交commit之前仍可回滚D.Truncate还可以删除表结构11.EMPLOYEES表的结构如下:EMPLOYEE_ID NUMBER Primary KeyFIRST_NAME VARCHAR2(25)LAST_NAME VARCHAR2(25)下面选项中可以向该表中插入一行数据的是 ( AC)A.INSERT INTO employees(employee_id) VALUES (1000);B.INSERT INTO employees (first_name,last_name) VALUES (‘John’,’Smith’);C.INSERT INTO employees VALUES(1000,’John’,’NULL’);D.INSERT INTO employees VALUES (‘1000’,’John’);12.下列属于java语言的接口是 ( ABC)A StatementB CollectionC ResultSetD DriverManager13. 下面的描述错误的是 ( B)A. Statement的executeQuery()方法会返回一个结果集B. Statement的executeUpdate()方法会返回是否更新成功的boolean值C. 使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值D. ResultSet中的next()方法会使结果集中的下一行成为当前行14.包含事务控制方法setAutoCommit, commit, rollback的是 (A)A. ConnectionB. StatementC. ResultSetD. DriverManager15. 在JDBC编程中执行完下列SQL语句: SELECT name, rank, serialNo FROM employee.,能得到rs的第一列数据的代码是?(BC )A. rs.getString(0);B. rs.getString("name");C. rs.getString(1);D. rs.getString(“ename”);16.下面关于PreparedStatement的说法错误的是 ( C)A. PreparedStatement继承了StatementB. PreparedStatement可以有效的防止SQL注入C. PreparedStatement不能用于批量更新的操作D. PreparedStatement可以存储预编译的Statement,从而提升执行效率17.表 CLASSES 和表 SCHEDULE 结构如下: (A)CLASSES:ID NUMBER(9)CLASS_NAME VARCHAR2(20)TEACHER_ID NUMBER(9)SCHEDULE:CLASS_TIME DATECLASS_ID NUMBER(9)你建一个视图显示每一课的课名、课时,并按教师ID排序判断下面语句将返回何种结果?CREATE VIEW class_schedule ASSELECT C.class_name as “Name”, s.class_timeFROM classes c, schedule sWHERE C.id = s.class_id ORDER BY teacher_id;A. 语句创建视图 CLASS_SCHEDULE 且可产生预期结果.B.“Name”别名有语法错误C. 语法错误,因为视图不可基于连接查询.D. 语法错误,因为视图不可包含 ORDER BY 子句.18.SQL语言中修改表结构的命令是?( C)A.MODIFY TABLEB.MODIFY STRUCTUREC.ALTER TABLED.ALTER STRUCTURE19.下列属于DML语句的是 (BC )mitB.updateC.deleteD.create20.从“员工”表的“姓名”字段中找出名字包含“玛丽”的人,哪条select语句正确:(D )A.Select * from员工 where 姓名 =’_玛丽_’B.Select * from员工 where 姓名 =’%玛丽_’C.Select * from员工 where 姓名 like‘_玛丽%’D.Select * from员工 where 姓名 like‘%玛丽%’二、简答题(5+5=10分)1 简述哪些列适合建索引(5)2写出Oracle数据库语言的分类(5)三、代码题(12+18=30分)(1)创建表employee,字段如下表所示,字段统一定义为varchar2(20);ID 为主键ID FIRST_NAME LAST_NAME MGRID SALARY1 rose Tyler 4 15002 Matha Jones 4 22003 Donna Noble4 13004 Doctor Who 55005 Jack Harkness 1 35001, 创建该表,并向表中插入下列数据并提交,查询数据;2, 将3号员工的last_name修改”Tate”,并提交,查询数据3, 将所有工资少于2000的员工的工资修改为2000(不提交), 查询数据4, 删除employee表中所有数据(不提交),查询数据;(2)有如下一张表,请完成一个相对完整的jdbc的注册登录流程。
《JDBC》笔试1套

《JDBC》笔试1套一、选择题41. 使用JDBC事务的步骤是()(多选)A) 取消Connection的事务自动提交方式B) 发生异常回滚事务C) 获取Connection对象D) 操作完毕提交事务42. 以下对JDBC事务描述错误的是()A) JDBC事务属于JAVA事务的一种B) JDBC事务属于容器事务类型C) JDBC事务可以保证操作的完整性和一致性D) JDBC事务是由Connection发起的,并由Connection控制43. 要通过可滚动的结果集更新数据,以下正确的是()A) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATA BLE)B) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_O NLY)C) pst=con.prepareStatement(sql, Resu ltSet.TYPE_SCROLL_SENSITIVE)D) pst=con.prepareStatement(sql, ResultSet.CONCUR_UPDATABLE)44. 存储过程pro有两个参数,第一个为输入参数,第二个为输出参数,以下代码正确的是()A) CallableStatement cst=con.prepareCall(“(call pro(?,?))”);B) CallableStatement cst=con.prepareCall(“(call pro(?))”);C) CallableStatement cst=con.prepareCall(“{call pro(?,?)}”);D) CallableStatement cst=con.prepareCall(“{callpro(?,?,?)}”);45. 以下描述正确的是( )A) CallableStatement是PreparedStatement的父接口B) PreparedStatement是CallableStatement的父接口C) CallableStatement是Statement的子接口D) PreparedStatement是Statement的父接口46. 要删除book表中书籍(bookName)是”java”的记录,以下代码正确的是()String sql=”delete from book where bookName=?”;PreparedStatement pst=con.preparedStatement(sql);______________________________pst.execute();A) pst.setString(1,”java”);B) pst.setString(0,”java”);C) pst.setInt(0,”java”);D) 以上选项都不正确47. 获取ResutlSet对象rst的第一行数据,以下正确的是()A) rst.hashNext();B) rst.next();C) rst.first();D) rst.nextRow();48. 以下可以正确获取结果集的有()(多选)A) Statement sta=con.createStatement();ResultSet rst=sta.executeQuery(“select * from book”);B) Statement sta=con.createStatement(“select * from book”);ResultSet rst=sta.executeQuery();C) PreparedStatement pst=con.preparedStatement();ResultSet rst=pst.executeQuery(“select * from book”);D) PreparedStatement pst=con.prepare dStatement(“select* from book”);ResultSet rst=pst.executeQuery();49. 以下负责建立与数据库连接的是()A) StatementB) PreparedStatementC) ResultSetD) DriverManager50. 使用JDBC连接数据库的顺序是()(多选)A) 加载驱动B) 导入驱动包C) 发送并处理SQL语句D) 建立于数据库的连接E 关闭连接二、简答题1、在java中如果声明一个类为final,表示什么意思?2、父类的构造方法是否可以被子类覆盖(重写)?3、请讲述String 和StringBuffer的区别。
JDBC题库

JDBC题库⼀、填空题1. JDBC ,是⼀种⽤于执⾏SQL语句的Java API,为多种关系数据库提供统⼀访问。
它由⼀组⽤Java语⾔编写的类和接⼝组成。
2. JDBC API:供程序员调⽤的接⼝与类,集成在java.sql和 javax.sql包中。
3. 简单地说,JDBC 可做三件事:与数据库建⽴连接、发送操作数据库的语句、处理结果。
4. 加载JDBC驱动是通过调⽤⽅法 ng.Class.forName() 实现的。
5. JDBC中与数据库建⽴连接是通过调⽤ DriverManager类的静态⽅法 getConnection(url,user,password) 实现的。
6. 有三种 Statement对象:Statement、 preparedStatemen 、CallableStatement(从PreparedStatement 继承)。
7. ResultSet 对象是executeQuery()⽅法的返回值,它被称为结果集,它代表符合SQL语句条件的所有⾏,并且它通过⼀套getXXX⽅法(这些get⽅法可以访问当前⾏中的不同列)提供了对这些⾏中数据的访问。
8. ResultSet对象⾃动维护指向当前数据⾏的游标。
每调⽤⼀次 next() ⽅法,游标向下移动⼀⾏。
9. 在JDBC中,事务操作成功后,系统将⾃动调⽤ commit() 提交,否则调⽤rollback()回滚。
10. 在JDBC中,事务操作⽅法都位于接⼝java.sql.Connection中。
可以通过调⽤ setAutoCommit(false) 来禁⽌⾃动提交。
11. JDBC中,事务开始的边界不是那么明显,它会开始于组成当前事务的所有 statement 中的第⼀个被执⾏的时候。
⼆、选择题1.以下选项中有关Connection描述错误的是(D)(选择⼀项)A.Connection是Java程序与数据库建⽴的连接对象,这个对象只能⽤来连接数据库,不能执⾏SQL语句。
一度javadb笔试试卷(第二套)

《Java数据库编程》结课笔试注意:1、考试时间120分钟;2、请将答案填写到答题纸上;3、试卷上不准涂写,否则按零分处理。
1、对DB中数据的操作分成三大类,DDL、DML、DCL,其中DML的意思是:A)数据管理语言B)数据定义语言C)数据控制语言D)数据操纵语言2、SQL中,下列操作有语法错误的是A)AGE IS NOT NULL B)NOT(AGE IS NULL)C)SNAME=‘王五’ D)SNAME !=‘王%’3、SQL Server是一种数据库管理系统。
A)层次型B)网络型C)关系型D)对象型4、某个用户对某类数据有何种操作权力由( )决定A)用户B)系统分析员C)DBA D)应用程序员5、非主键必须依赖于主键于主键列,这属于下列范式的内容( )。
BCNF 每一个决定因素都包含码A)1NF B)2NF不存在部分函数依赖C)3NF不存在传递依赖D)都没有6、如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立:A)PK(主键) B)FK(外键) C)UK(唯一键) D)复合主键7、数据库系统中,有关索引的说法正确的是:。
A)为了提高数据的查询速度B)为了提高数据的增加的速度C)可以通过索引实现主键约束D)可以通过索引实现唯一约束8、SQL中,"AGE IN(20, 22)"的语义是:A)AGE<=22 AND AGE >=20 B)AGE <22 AND AGE >20C)AGE =20 AND AGE =22 D)AGE =20 OR AGE =229、数据库设计的步骤是A)直接建表B)先建立实体,再建立表C)先建立实体,再建立实体关系,最后转化为表D)先建立ER模型完成概念设计,再转化为关系模型。
10、下面SQL是来源于考试成绩表t_exam:学号stuID)科目编号subID)成绩score,考试日期ex_date。
有以下sql语句,它表示的意思是:select stu_id,subId,count(*) as x from t_exam where ex_date='2008-08-08'group by stu_id,subId having count(*)>1order by x descA)找出’2008-08-08’这天某科考试考试了2次及以上的学生记录B)找出’2008-08-08’这天,某科考试了2次及以上的学生记录,考试次数多的放在前面C)找出’2008-08-08’这天,某科考试了2次及以上的学生记录,考试次数少的放在前面D)根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面11、下面列出的关于“约束”的条目中,哪一条是不正确的A) 约束就是限制数据录入的范围B) 在开发中必须要使用外键约束,否则无法进行表连接C) 主键约束的本质就是唯一索引加上非空约束D) 两个表如果没有相同的字段,就无法进行表连接12、有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于()A) 实体完整性约束B) 参照完整性约束C) 用户自定义完整性约束D) 关键字完整性约束13、SQL语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现哪类功能______A) 数据查询B) 数据操纵(DML)C) 数据定义(DDL) D) 数据控制(DCL)14、在下面列出的数据模型中,哪一个是概念数据模型______。
收集的一些Java JDBC相关的面试题及笔试题

收集的一些Java JDBC相关的面试题及笔试题E. SQLTruncation7. 接口Statement中定义的execute方法的返回类型以及代表的含义分别是:()A 结果集ResultSetB 受影响的记录数量C 有无ResultSet返回8. 接口Statement中定义的executeQuery方法的返回类型是:()A ResultSetB intC boolean9. 接口Statement中定义的executeUpdate方法的返回类型以及锁代表的含义分别是:()A ResultSetB intC booleanD 受影响的记录数量E 有无ResultSet返回10. 如果要限制某个查询语句返回的最多的记录数,可以通过调用Statement的什么方法来实现?()A setFetchSizeB setMaxFieldSizeC setMaxRows11. 以下哪些是定义在ResultSet中用于Cursor定位的方法:ABCEFA next()B beforeFirst()C afterLast()D isBeforeFirst()E absolute(int)F relative(int)12. 接口RowSet实现了接口:()A StatementB ResultSetC updateD populate13. 事务的四个属性中原子性是指:()A 一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
B 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其有任何影响。
C 一个事务必须是使数据库从一个一致性状态变到另一个一致性状态。
一致性与原子性是密切相关的。
D 一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
14. 事务的四个属性中持久性是指:()A 一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
Oracle_JDBC考试试题
T_User 表:
数据示例:
提示代码: String driverName = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@" + serverName + ":" + serverPort + ":" + serverID ;
2、JDBC 中的事务有哪些特点:__________、__________、__________、__________; 3、JDBC 中__________类对象保存了所有__________类对象中关于字段信息,提供多个方法来取得这些 3、简要说明 JDBC 编程开发的步骤。(6 分) 信息; 4、在 JDBC 中,可对数据库进行遍历,以数组形式得到数据表,表字段属性,数据库版本号等信息,通 过__________接口可以实现; 5、当对对象进行批量更新时,采用__________创建对象效率较高,且在 SQL 语句中使用?占位符;采用 __________创建则效率较低; 6、JDBC 中 ,通过 Statement 类所提供的方法,可以利用标准的 SQL 对数据库进行__________、__________、 4、事务处理有哪些步骤请列出,并列出相应的关键代码(6 分) __________操作; 7、在 Oracle 数据库的逻辑结构中有,表空间、数据块、区、段,这些组件从大到小依次是_______、_______、 _______、_______。
java数据库笔试题
java数据库笔试题一、选择题1. 下列哪个选项是正确的?A. Java数据库连接池是为了提高数据库连接的效率和性能而设计的。
B. Java数据库连接池是为了简化数据库操作而设计的。
C. Java数据库连接池是为了替代关系型数据库而设计的。
D. Java数据库连接池是为了保证数据安全性而设计的。
2. 下列哪个选项是正确的?A. 使用PreparedStatement可以防止SQL注入攻击。
B. 使用Statement可以防止SQL注入攻击。
C. 使用CallableStatement可以防止SQL注入攻击。
D. SQL注入攻击无法通过代码进行防范。
3. 下列哪个选项是正确的?A. 使用JDBC连接数据库时,需要手动管理连接的创建和释放。
B. 使用JDBC连接数据库时,连接的创建和释放由数据库自动管理。
C. 使用JDBC连接数据库时,只需要手动管理连接的创建。
D. 使用JDBC连接数据库时,只需要手动管理连接的释放。
二、填空题1. 在Java中,使用_______类来加载数据库的驱动程序。
2. JDBC的四大核心接口是__________。
3. 在使用JDBC连接数据库时,连接字符串的格式为__________。
三、简答题1. 请简要描述JDBC的工作原理。
2. 使用JDBC连接数据库的步骤是什么?3. 为什么使用数据库连接池?四、编程题请使用JDBC连接数据库,并完成以下操作:1. 创建名为"employee"的表,包含以下字段:id(int,自增主键)、name(varchar)、age(int)。
2. 插入一条记录,name为"Tom",age为25。
3. 查询表中所有记录。
4. 根据id删除一条记录。
以上是Java数据库笔试题的内容,希望你能认真完成。
如果你对于答案有疑问或者需要更详细的解析,请随时向我提问。
祝你顺利完成!。
笔试题及答案(二)
一.选择题(共50题,每题2分,共100分。
多选题选不全或选错都不得分。
)1.以下属于面向对象的特征的是(C,D)。
(两项)A) 重载B) 重写C) 封装D) 继承2.以下代码运行输出是(C)public class Person{private String name=”Person”;int age=0;}public class Child extends Person{public String grade;public static void main(String[] args){Person p = new Child();System.out.println();}}A) 输出:PersonB) 没有输出C) 编译出错D) 运行出错3.在使用super 和this关键字时,以下描述正确的是(A)A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B) super()和this()不一定要放在构造方法内第一行C) this()和super()可以同时出现在一个构造函数中D) this()和super()可以在static环境中使用,包括static方法和static语句块4.以下对封装的描述正确的是(D)A) 只能对一个类中的方法进行封装,不能对属性进行封装B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C) 封装的意义不大,因此在编码时尽量不要使用D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性5.以下对继承的描述错误的是(A)A) Java中的继承允许一个子类继承多个父类B) 父类更具有通用性,子类更具体C) Java中的继承存在着传递性D) 当实例化子类时会递归调用父类中的构造方法6.以下程序的运行结果是(D)public Person(){System.out.println(“this is a Person”);}}public class Teacher extends Person{private String name=”tom”;public Teacher(){System.out.println(“this is a teacher”);super();}public static void main(String[] args){Teacher teacher = new Teacher();System.out.println();}}A) this is a Personthis is a teachertomB) this is a teacherthis is a PersontomC) 运行出错D) 编译有两处错误7.以下说法错误的是()A) super.方法()可以调用父类的所有非私有方法B) super()可以调用父类的所有非私有构造函数C) super.属性可以调用父类的所有非私有属性D) this和super关键字可以出现在同一个构造函数中8.以下关于final关键字说法错误的是(A,C)(两项)A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性B) final修饰的类肯定不能被继承C) final修饰的方法不能被重载D) final修饰的变量不允许被再次赋值9.访问修饰符作用范围由大到小是(D)A) private-default-protected-publicB) public-default-protected-privateC) private-protected-default-publicD) public-protected-default-private10.以下(D)不是Object类的方法B) finalize()C) toString()D) hasNext()11.多态的表现形式有(A)A) 重写B) 抽象C) 继承D) 封装12.以下对重载描述错误的是(B)A) 方法重载只能发生在一个类的内部B) 构造方法不能重载C) 重载要求方法名相同,参数列表不同D) 方法的返回值类型不是区分方法重载的条件13.以下(D)添加到ComputerBook中不会出错class Book{protected int getPrice(){return 30;}}public class ComputerBook extends Book{}A) protected float getPrice(){}B) protected int getPrice(int page){}C) int getPrice(){}D) public int getPrice(){return 10;}14.以下对抽象类的描述正确的是(C)A) 抽象类没有构造方法B) 抽象类必须提供抽象方法C) 有抽象方法的类一定是抽象类D) 抽象类可以通过new关键字直接实例化15.以下对接口描述错误的有(D)A) 接口没有提供构造方法B) 接口中的方法默认使用public、abstract修饰C) 接口中的属性默认使用public、static、final修饰D) 接口不允许多继承16.以下代码,描述正确的有(A)interface IDemo{public static final String name;1void print();2public void getInfo();3}abstract class Person implements IDemo{4public void print(){}}A) 第1行错误,没有给变量赋值B) 第2行错误,方法没有修饰符C) 第4行错误,没有实现接口的全部方法D) 第3行错误,没有方法的实现17.接口和抽象类描述正确的有(B,C)(两项)A) 抽象类没有构造函数B) 接口没有构造函数C) 抽象类不允许多继承D) 接口中的方法可以有方法体18.以下描述错误的有(C)A) abstract 可以修饰类、接口、方法B) abstract修饰的类主要用于被继承C) abstract 可以修饰变量D) abstract修饰的类,其子类也可以是abstract修饰的19.以下描述正确的有(B)A) 方法的重写应用在一个类的内部B) 方法的重载与返回值类型无关C) 构造方法不能重载D) 构造方法可以重写20.以下程序运行结果是(A)public class Test extends Father{private String name=”test”;public static void main(String[] args){Test test = new Test();System.out.println(test.getName());}}class Father{priva te String name=”father”;public String getName() {return name;}}A) fatherB) testC) 编译出错D) 运行出错,无输出21.以下对异常的描述不正确的有(C)A) 异常分为Error和ExceptionB) Throwable是所有异常类的父类C) Exception是所有异常类父类D) Exception包括RuntimeException和RuntimeException之外的异常22.在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)A) catchB) tryC) throwsD) throw23.下面代码运行结果是(B)public class Demo{public int add(int a,int b){try{return a+b;}catch(Exception e){System.out.println(“catch 语句块”);}finally{System.out.println(“finally 语句块”);}return 0;}public static void main(String[] args){Demo demo = new Demo();System.out.println(“和是:”+demo.add(9,34));}}A) 编译异常B) finally语句块和是:43C) 和是:43 finally语句块D) catch语句块和是:4324.以下描述不正确的有(D)A) try块不可以省略B) 可以使用多重catch块C) finally块可以省略D) catch块和finally块可以同时省略25.以下对自定义异常描述正确的是(C)A) 自定义异常必须继承ExceptionB) 自定义异常可以继承自ErrorC) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义26.以下程序运行结果是(D)public class Test {public int div(int a, int b) {try {return a / b;}catch(Exception e){System.out.println(“Exception”);}catch(NullPointerException e){System.out.println(“ArithmeticException”);}catch (ArithmeticException e) {System.out.println(“ArithmeticException”);} finally {System.out.println(“finally”);}return 0;}public static void main(String[] args) {Test demo = new Test();System.out.println(“商是:” + demo.div(9, 0));}}A) Exception finally 商是:0B) ArithmeticException finally 商是:0C) finally商是:0D) 编译报错27. 以下对TCP和UDP描述正确的是(D)A) TCP不能提供数据的可靠性B) UDP能够保证数据库的可靠性C) TCP数据传输效率高于UDPD) UDP数据传输效率高于TCP28. 在Java中,下面对于构造函数的描述正确的是(D)。
JDBCWeb试题答案
JDBC Web 试题(下载上机题)共 43 道考题,全部为不定项选择,每空答案完全正确才能得分,每空一分,共 146 分。
考试时间: 180 分钟注意:填写考题答案时,多个答案之间不要加其他字符,答案字符大小写均可。
正确示例:ABC或abc;错误示例:A B C或a,b,c。
红色大写字母的是修改后的正确答案1. 典型的JDBC程序按顺序编写。
A. 释放资源B. 获得与数据库的物理连接C. 执行SQL命令D. 注册JDBC DriverE. 创建不同类型的StatementF. 如果有结果集, 处理结果集2. JDBC驱动程序的种类有。
A. 两种B. 三种C. 四种D. 五种3. 执行同构的SQL,用C; 执行异构的SQL, 用B;调用存储进程或函数用A。
A. CallableStatementB. StatementC. PreparedStatement4. 接口Statement中定义的execute方法的返回类型是C,代表的含义是E; executeQuery方法返回的类型是; executeUpdate返回的类型是, 代表的含义是D。
A. ResultSetB. intC. booleanD. 受影响的记录数量E. 有无ResultSet返回5. JDBC编程的异常类型分为。
ACA. SQLExceptionB. SQLErrorC. SQLWarningD. SQLFatalE. SQLTruncation6. 在接口Connection中定义了方法setTransactinIsolation, 它使用一些常量作为参数指定控制数据库并发操作的隔离级别,设置隔离层次E只解决了dirty reads; 设置隔离层次只可以做到repeatable reads; 设置隔离层次C可以解决phantom reads。
EDCA. TRANSACTION_NONEB. TRANSACTION_READ_UNCOMMITEDC. TRANSACTION_SERIALIZABLED. TRANSACTION_REPEATABLE_READE. TRANSACTION_READ_COMMITED7. 如果要限制某个查询语句返回的最多的记录数,可以通过调用Statement的方法来实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
41. 使用JDBC事务的步骤是()(多选)
A) 取消Connection的事务自动提交方式
B) 发生异常回滚事务
C) 获取Connection对象
D) 操作完毕提交事务
42. 以下对JDBC事务描述错误的是()
A) JDBC事务属于JAVA事务的一种
B) JDBC事务属于容器事务类型
C) JDBC事务可以保证操作的完整性和一致性
D) JDBC事务是由Connection发起的,并由Connection控制
43. 要通过可滚动的结果集更新数据,以下正确的是()
A) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
B) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY)
C) pst=con.prepareStatement(sql, Resu ltSet.TYPE_SCROLL_SENSITIVE)
D) pst=con.prepareStatement(sql, ResultSet.CONCUR_UPDATABLE)
44. 存储过程pro有两个参数,第一个为输入参数,第二个为输出参数,以下代码正确的是()
A) CallableStatement cst=con.prepareCall(“(call pro(?,?))”);
B) CallableStatement cst=con.prepareCall(“(call pro(?))”);
C) CallableStatement cst=con.prepareCall(“{call pro(?,?)}”);
D) CallableStatement cst=con.prepareCall(“{call pro(?,?,?)}”);
45. 以下描述正确的是( )
A) CallableStatement是PreparedStatement的父接口
B) PreparedStatement是CallableStatement的父接口
C) CallableStatement是Statement的子接口
D) PreparedStatement是Statement的父接口
46. 要删除book表中书籍(bookName)是”java”的记录,以下代码正确的是()
String sql=”delete from book where bookName=?”;
PreparedStatement pst=con.preparedStatement(sql);
______________________________
pst.execute();
A) pst.setString(1,”java”);
B) pst.setString(0,”java”);
C) pst.setInt(0,”java”);
D) 以上选项都不正确
47. 获取ResutlSet对象rst的第一行数据,以下正确的是()
A) rst.hashNext();
B) rst.next();
C) rst.first();
D) rst.nextRow();
48. 以下可以正确获取结果集的有()(多选)
A) Statement sta=con.createStatement();
ResultSet rst=sta.executeQuery(“select * from book”);
B) Statement sta=con.createStatement(“select * from book”);
ResultSet rst=sta.executeQuery();
C) PreparedStatement pst=con.preparedStatement();
ResultSet rst=pst.executeQuery(“select * from book”);
D) PreparedStatement pst=con.prepare dStatement(“select * from book”);
ResultSet rst=pst.executeQuery();
49. 以下负责建立与数据库连接的是()
A) Statement
B) PreparedStatement
C) ResultSet
D) DriverManager
50. 使用JDBC连接数据库的顺序是()(多选)
A) 加载驱动
B) 导入驱动包
C) 发送并处理SQL语句
D) 建立于数据库的连接
E 关闭连接
二、简答题
1、在java中如果声明一个类为final,表示什么意思?
2、父类的构造方法是否可以被子类覆盖(重写)?
3、请讲述String 和StringBuffer的区别。
4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?
4、结合Java视频Lesson5(多线程),分析sleep()和wait()方法的区别。
5、谈谈你对抽象类和接口的理解。