19JAVA第九单元练习题 JDBC数据库
jdbc选择题及解析

jdbc选择题及解析题目1,JDBC是什么意思?解析,JDBC是Java数据库连接(Java Database Connectivity)的缩写,它是Java语言用于执行与数据库的连接和操作的API。
JDBC提供了一种标准的方法,使得Java应用程序能够与各种不同类型的数据库进行交互,无论是关系型数据库还是非关系型数据库。
题目2,JDBC的工作原理是什么?解析,JDBC的工作原理是通过Java应用程序调用JDBC API来与数据库进行交互。
首先,应用程序通过JDBC驱动程序管理器加载适当的数据库驱动程序。
然后,应用程序使用驱动程序管理器来获取数据库连接。
一旦建立了连接,应用程序可以创建并执行SQL语句,以及处理查询结果。
最后,应用程序关闭连接并释放资源。
题目3,JDBC的主要组件有哪些?解析,JDBC的主要组件包括驱动程序管理器(DriverManager)、数据库驱动程序(Database Driver)、连接接口(Connection)、语句接口(Statement)、结果集接口(ResultSet)等。
驱动程序管理器用于加载数据库驱动程序,数据库驱动程序负责与特定类型的数据库进行通信,连接接口用于建立和管理与数据库的连接,语句接口用于执行SQL语句,结果集接口用于处理查询结果。
题目4,JDBC的优点是什么?解析,JDBC的优点包括跨平台性、灵活性和可移植性。
由于JDBC是基于Java语言的,因此可以在各种操作系统上运行,实现了跨平台性。
此外,JDBC提供了灵活的API,允许开发人员编写复杂的数据库操作,同时也保持了与数据库的独立性,这增加了应用程序的可移植性。
题目5,JDBC与ODBC有何区别?解析,JDBC是Java数据库连接的API,而ODBC是Open Database Connectivity的缩写,是微软提出的用于连接数据库的API。
JDBC是基于Java语言的,而ODBC是基于C语言的。
JAVA程序设计课后习题及答案9

第9章1.JDBC驱动程序可分为以下4种。
(1)JDBC-ODBC桥接的ODBC驱动程序;(2)用Java编写的JDBC本地API驱动程序;(3)JDBC网络的纯Java驱动程序;(4)本地协议的纯Java驱动程序2.访问数据库使用的类为管理数据库驱动类DriverManager,DriverManager管理了一组JDBC驱动程序的基本服务。
可以认为DriverManager是JDBC的管理层,作用于用户与驱动程序之间,同时跟踪可用的驱动程序,并在数据库与相应的驱动程序之间建立连接,还可以处理驱动程序登录时间限制、跟踪消息的显示等。
相关的接口有:数据库连接接口Connection(Connection是与特定数据库的连接,其作用是连接上下文执行SQL语句并返回结果);发送SQL 语句接口Statement(Statement用于执行静态SQL语句并返回它所生成结果的对象);可执行动态SQL语句的接口PreparedStatement(先发送带参数的SQL语句,再发送一组参数值);查询结果集接口ResultSet(Statement执行SQL语句后返回ResultSet结果集)。
3.通过JDBC操作数据库的步骤如下。
(1)加载JDBC驱动程序。
(2)创建数据库连接。
(3)执行SQL语句。
(4)处理结果集。
(5)关闭连接。
4.常用的数据库操作包括在数据库中增加数据、删除数据、修改数据和查询数据4类。
增加数据:insert into 表名称values 字段1值, 字段2值, ……删除数据:delete from 表名称where 删除条件修改数据:update 表名称set 字段1名=字段1值where 条件查询数据:select 要查询的内容from 表名称where 查询条件。
《Java基础入门》_课后习题答案大一计算机专业9

《Java基础入门》课后习题答案第9章JDBC一、填空题1、Java Database Connectivity2、java.sql.*3、classpath4、registerDriver()5、next()二、判断题1、对2、错3、对4、错5、错三、选择题1、A2、C3、A4、D5、AC四、简答题1、JDBC是一套用于执行SQL语句的Java API。
应用程序可通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、新增、更新和删除等操作。
2、(1)加载数据库驱动(2)通过DriverManager获取数据库连接(3)通过Connection对象获取Statement对象(4)使用Statement执行SQL语句(5)操作ResultSet结果集(6)关闭连接,释放资源3、(1)代码的可读性和可维护性(2)PreparedStatement尽最大可能提高性能,因为预编译语句有可能被重复调用,所以语句在被DB 的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中(相当于一个函数)就会得到执行。
(3)极大地提高了安全性传。
递给PreparedStatement对象的参数可以被强制进行类型转换,使开发人员可以确保在插入或查询数据时与底层的数据库格式匹配;在公共Web站点环境下,防止Sq注入问题。
五、编程题1、参考答案public static void main(String[] args) throws Exception {// int i = insert();// int i = delete();// int i = update();select();// System.out.println(i);}// 获取连接对象private static Connection getConn() {String driver = "com.mysql.jdbc.Driver";String url = "jdbc:mysql://localhost:3306/javatest";String username = "root";String password = "1234";Connection conn = null;try {Class.forName(driver); // classLoader,加载对应驱动conn = DriverManager.getConnection(url, username, password);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return conn;}// 插入操作private static int insert() {Connection conn = getConn();int i = 0;String sql = "insert into tb_user(name,sex,email,birthday) values(?,?,?,?)";PreparedStatement pstmt;try {pstmt = conn.prepareStatement(sql);pstmt.setString(1, "itcast");pstmt.setString(2, "男");pstmt.setString(3, "itcast@");pstmt.setString(4, "2000-01-01");i = pstmt.executeUpdate();pstmt.close();conn.close();} catch (SQLException e) {e.printStackTrace();}return i;}// 删除操作private static int delete() {Connection conn = getConn();int i = 0;String sql = "delete from tb_user where name=?";PreparedStatement pstmt;try {pstmt = conn.prepareStatement(sql);pstmt.setString(1, "itcast");i = pstmt.executeUpdate();} catch (Exception e) {e.printStackTrace();}return i;}// 更新操作private static int update() {Connection conn = getConn();int i = 0;String sql = "update tb_user set name=? where name =?";PreparedStatement pstmt;try {pstmt = conn.prepareStatement(sql);pstmt.setString(1, "itcast");pstmt.setString(2, "abc");i = pstmt.executeUpdate();System.out.println("resutl: " + i);pstmt.close();conn.close();} catch (SQLException e) {e.printStackTrace();}return i;}// 查询操作private static void select() {Connection conn = getConn();String sql = "select * from tb_user";PreparedStatement pstmt;try {pstmt = conn.prepareStatement(sql);ResultSet rs = pstmt.executeQuery();while (rs.next()) {int id = rs.getInt("id"); // 通过列名获取指定字段的值String name = rs.getString("name");String sex = rs.getString("sex");String email = rs.getString("email");Date birthday = rs.getDate("birthday");System.out.println(id + " | " + name + " | " + sex + " | " + email + " | " + birthday);}pstmt.close();conn.close();} catch (Exception e) {e.printStackTrace();}}2、参考答案import java.sql.*;public class Test {public static void main(String[] args) throws Exception {transferAccounts(2, 1, 100);}public static void transferAccounts(int fromid,int toid,int transferMoney) throwsException{ Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/jdbc";Connection con = DriverManager.getConnection(url,"root", "root");int fromMoney = getMoney(fromid);// 转出账户String sql = "update tb_count set money=? where id =?";PreparedStatement ps = con.prepareStatement(sql);ps.setInt(1, fromMoney-transferMoney);ps.setInt(2, fromid);// 转入账户int toMoney = getMoney(toid);String sql2 = "update tb_count set money=? where id =?";PreparedStatement ps2 = con.prepareStatement(sql2);ps2.setInt(1, toMoney+transferMoney);ps2.setInt(2, toid);ps.executeUpdate();ps2.executeUpdate();ps.close();ps2.close();con.close();}// 获取当前账户id的账户余额public static int getMoney(int id) throws Exception{Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/jdbc";Connection con = DriverManager.getConnection(url,"root", "root");String sql = "select money from tb_count where id =?";PreparedStatement ps = con.prepareStatement(sql);ps.setInt(1, id);ResultSet resultSet = ps.executeQuery();int money = 0;while(resultSet.next()){money = resultSet.getInt(1);}ps.close();con.close();return money;}}。
(完整版)JDBC练习题

一、选择题1.有关JDBC的选项正确的是哪一个?A.JDBC是一种被设计成通用的数据库连接技术,JDBC技术不光可以应用在Java程序里面,还可以用在C++这样的程序里面。
B.JDBC技术是SUN公司设计出来专门用在连接Oracle数据库的技术,连接其他的数据库只能采用微软的ODBC解决方案C.微软的ODBC和SUN公司的JDBC解决方案都能实现跨平台使用,只是JDBC的性能要高于ODBCD.JDBC只是个抽象的调用规范,底层程序实际上要依赖于每种数据库的驱动文件2.选择JDBC可以执行的语句(多选)A.DDLB.DCLC.DMLD.以上都可以3.选择Java程序开发中推荐使用的常用数据库(多选)a.Oracleb.SQL Server 2000c.MySQLd.DB24.哪个不是JDBC用到的接口和类?a.Systemb.Classc.Connectiond.ResultSet5.使用Connection 的哪个方法可以建立一个PreparedStatement接口?A.createPrepareStatement()B.prepareStatement()C.createPreparedStatement()D.preparedStatement()6.下面的描述正确的是什么?A.PreparedStatement继承自StatementB.Statement继承自PreparedStatementC.ResultSet继承自StatementD.CallableStatement继承自PreparedStatement7.下面的描述错误的是什么?A.Statement的executeQuery()方法会返回一个结果集B.Statement的executeUpdate()方法会返回是否更新成功的boolean值C.使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值D.ResultSet中的next()方法会使结果集中的下一行成为当前行8.如果数据库中某个字段为numberic型,可以通过结果集中的哪个方法获取?A.getNumberic()B.getDouble()C.getBigDecimal ()D.getFloat()9.在Jdbc中使用事务,想要回滚事务事务的方法是什么?A.Connection的commit()B.Connection的setAutoCommit()C.Connection的rollback()D.Connection的close()10.在JDBC编程中执行完下列SQL语句SELECT name, rank, serialNoFROM employee,能得到rs的第一列数据的代码是哪两个?A.rs.getString(0);B.rs.getString("name");C.rs.getString(1);D.rs.getString("ename");11.下面关于PreparedStatement的说法错误的是什么A.PreparedStatement继承了StatementB.PreparedStatement可以有效的防止SQL注入C.PreparedStatement不能用于批量更新的操作D.PreparedStatement可以存储预编译的Statement,从而提升执行效率12.下面的选项加载MySQL驱动正确的是哪一个?A.Class.forname("org.gjt.mm.mysql.Driver");B.Class.forname("org.gjt.mysql.jdbc.Driver");C.Class.forname("org.git.mm.mysql.Driver");D.Class.forname("org.git.mysql.jdbc.Driver");13.下面的选项加载MySQL驱动正确的是哪一个?A.Class.forname("com.mysql.JdbcDriver");B.Class.forname("com.mysql.jdbc.Driver");C.Class.forname("com.mysql.driver.Driver");D.Class.forname("com.mysql.jdbc.MySQLDriver");14.下面代码加载Oracle驱动正确的是哪一个?A.DriverManager.register("oracle.driver.OracleDriver");B.DriverManager.forname("oracle.driver.OracleDriver");C.DriverManager.load("oracle.driver.OracleDriver");D.DriverManager.newInstance("oracle.driver.OracleDriver");15.有关Connection描述错误的是哪一个?A.Connection是Java程序与数据库建立的连接对象,这个对象只能用来连接数据库,不能执行SQL语句。
编程选择题40道:Java数据库连接:JDBC与数据库交互.Tex

1.在JDBC中,用于连接数据库的接口是什么?o A. PreparedStatemento B. DriverManagero C. ResultSeto D. Connection答案:D解析:在JDBC中,Connection接口用于表示与数据库的连接。
2.下列哪个类用于处理SQL语句的执行结果?o A. Statemento B. ResultSeto C. Connectiono D. Driver答案:B解析:ResultSet类用于处理执行SQL语句的结果集。
3.JDBC中,用于执行SQL语句的类是?o A. Connectiono B. PreparedStatemento C. ResultSeto D. DriverManager答案:B解析:PreparedStatement类用于执行预编译的SQL语句,Statement类则用于执行简单的SQL语句。
4.要使用JDBC连接数据库,哪个方法用于加载JDBC驱动?o A. Connection.getConnection()o B. DriverManager.getDriver()o C. Class.forName()o D. PreparedStatement.prepareStatement()答案:C解析:Class.forName()用于加载JDBC驱动,这是在连接数据库前必须要执行的步骤。
5.下面哪个选项不是PreparedStatement相对于Statement的优点?o A. 预编译SQL语句提高执行效率o B. 处理结果集更灵活o C. 防止SQL注入o D. 设置参数更方便答案:B解析:PreparedStatement在性能、安全性和参数设置上优于Statement,但两者处理结果集的能力基本相同。
6.JDBC中的DriverManager类的哪个方法用于建立数据库连接?o A. getConnection()o B. getDriver()o C. registerDriver()o D. setLoginTimeout()答案:A解析:getConnection()方法用于根据给定的数据库URL、用户名和密码建立数据库连接。
JDBC简答题C

1.什么是JDBC?答:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API 编写数据库应用程序,同时,JDBC也是个商标名。
2.JDBC发展的四个阶段有哪些?答: 1)JDBC-ODBC桥2)本地API3)JDBC网络纯JA V A驱动程序4)纯JA V A写的本地通信协议3.JDBC编程的步骤分为哪几步?答: 1)注册Driver:告诉JVM使用哪个driver具体实现类2)获取连接:获取数据库连接3)创建Statement:用来表示和执行SQL语句命令4)执行SQL语句5)处理ResultSet:结果集6)释放资源:关闭顺序:ResultSet --> Statement --> Connection4.Class.forName的作用是什么?答:加载类,并返回一个“参数名”类型的类实例。
5.注册Driver的三种方式有哪些?答:注册Driver的三种方式:1)注册Driver第一种方式try {Class.forName("oracle.jdbc.driver.OracleDriver");// 如果需要多个Driver类// class.forName("driver2");// class.forName("driver3");// class.forName("driver4");} catch (ClassNotFoundException e) {e.printStackTrace();}2)注册Driver第二种方式Driver d1=new oracle.jdbc.driver.OracleDriver();try {DriverManager.registerDriver(d1);} catch (SQLException e1) {e1.printStackTrace();}3)注册Driver第三种方式在程序不指定,DriverManager没有,再找环境变量jdbc.drivers里面有没有指定java -Djdbc.drivers=oracle.jdbc.driver.OracleDriver classname 6.写一段JDBC连接Oracle的程序,并实现数据查询。
10、JDBC与数据库

§10JDBC与数据库一、判断题1、JDBC是Java语言执行SQL的应用程序接口,应用程序通过JDBC API和底层的JDBC Driver API打交道。
由于ODBC访问数据库的效率高,所以JDBC-ODBC 桥接驱动程序得到了广泛的应用。
参考答案:不正确2、有了JDBC,Java程序独立于数据库系统(即编写数据库程序时,不再关心要访问的数据库管理系统的类型)。
参考答案:正确3、JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模块参考答案:正确4、通过JDBC-ODBC桥来访问数据库会带来一系列安全性、完整性各键壮性方面的问题.参考答案:不正确ODBC5、JDBC API可分成两个层次,面向底层的JDBC Driver API和面向程序员的JDBC API。
编写数据库应用程序时不会用到 JDBC Driver API.参考答案:正确6、在Java Applet中可以使用JDBC完成数据库的访问.参考答案:正确7、在Servlet中可以使用JDBC完成数据库的访问.参考答案:正确8、在JDBC驱动程序的各种解决方案中,由于纯Java解决方案未使用本地代码,因此其效率不高.参考答案:不正确二、单项选择题1、以下关于JDBC (Java DataBase Connectivity)的描述中,不正确的是:A、是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,是一种底层APIB、使开发人员可以用纯Java语言编写完整的数据库应用程序C、用JDBC写的程序能够自动地将SQL语句传送给几乎任何一种数据库管理系统(DBMS)D、JDBC 不能通过ODBC间接实现数据库的读写2、有关采用JDBC访问数据库的应用程序,以下描述中正确的是:A、Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)的作用是连接数据库B、Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)的作用是加载驱动器C、Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)的作用连接数据库D、Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)的作用是向数据库发送查旬指令。
JDBC练习题

JDBC练习题1,选择题1。
哪个是正确的JDBC选择?A。
JDBC是一种通用的数据库连接技术。
JDBC技术不仅可以用在Java程序中,也可以用在像C++这样的程序中B。
JDBC技术是SUN公司专门为连接Oracle数据库而设计的。
连接其他数据库只能使用微软的ODBC解决方案C。
微软的ODBC和SUN公司的JDBC解决方案可以跨平台使用。
只有JDBC的性能高于ODBCD。
JDBC只是一个抽象的调用规范。
底层程序实际上依赖于每个数据库的驱动程序文件。
2.选择JDBC可以执行的语句(多选)。
所有以上可以是3。
选择推荐用于Java程序开发的常用数据库(多选)a . Oracleb . SQL server 2000c . MySQLd . db 24 .哪一个不是JDBC使用的接口和类?系统类连接结果集5 .哪种连接方法可以用来建立准备状态接口?a . create preparentation()b . prepare station()c . create preparentation()d . prepared statement()6。
下面正确的描述是什么?A。
准备语句继承自语句b。
语句继承自准备语句c。
结果集继承自语句d。
调用语句继承自准备语句7。
下面的描述错误是什么?A的executeQuery()方法。
语句返回一个结果集。
B的executeUpdate()方法。
语句返回更新是否成功的布尔值。
在结果集中使用getString()可以获得对应于数据库中字符类型的值d。
结果集中的next()方法将使结果集中的下一行成为当前的第8行。
如果数据库中的某个字段是数字类型的,它可以在结果集中获得哪种方法?a . getnumberic()b . getdouble()c . getbigdecimal()d . getfloat()9。
使用Jdbc中的事务,您想用什么方法回滚事务?A。
连接的提交()连接的设置自动提交()连接的回滚()连接的关闭() 10。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9JDBC数据库
9.1单项选择题
1.数据库系统的核心是(B)
A、数据库
B、数据库管理系统
C、数据模型
D、软件工具
2.不同的数据库管理系统支持不同的数据模型,下列(D)不属于常用的数据模型。
A、关系模型
B、网状模型
C、层次模型
D、链表模型
3.以下关于数据的存储结构的叙述中哪一条是正确的?(B)
A、数据的存储结构是数据间关系的抽象描述
B、数据的存储结构是逻辑结构在计算机存储器中的实现
C、数据的存储结构分为线性结构和非线性结构
D、数据的存储结构对数据运算的具体实现没有影响
4.在数据库中存储的是(C)
A、数据
B、数据模型
C、数据以及数据之间的联系
D、信息
5.数据库管理系统的数据操纵语言()所实现的操作一般包括
A、建立、授权、修改
B、建立、授权、删除
C、建立、插入、修改、排序
D、查询、插入、修改、删除
6.Java中,JDBC是指()
A.Java程序与数据库连接的一种机制
B.Java程序与浏览器交互的一种机制
C.Java类库名称
D.Java类编译程序
9.2填空题
1.Java提供的类库支持_________协议,应用程序可通过URl地址,在访问网络上任何地方的对象时,如同访问本地文件一样简单。
2.JDBC APl的含义是Java应用程序连接_________的编程接口。
3.Java编程语言前台应用程序使用________来和JDBC驱动管理器进行交互。
4.JDBC驱动管理器使用_________来装载合适的JDBC驱动。
5.JDBC的类都被汇集在________包中,在安装JavaJDKl.1或更高版本时会自动安装。
6.查询数据库的7个标准步骤是:载人JDBC驱动器、定义连接的网址URL、建立连接、建立声明对象、执行查询或更新、处理结果、____________。
7.使用Class.forName()方法加载和注册驱动程序后,由____________类负责管理并跟踪JDBC驱动程序,在数据库和相应驱动程序之间建立连接。
8.__________________接口负责建立与指定数据库的连接。
9.__________________接口的对象可以代表一个预编译的SOL语句,它是Statement接口的子接口。
10.__________________接口表示从数据库中返回的结果集。
9.3参考答案
9.3.1单项选择题
1.B
2.D
3.B
4.C
5.D
6.A
9.3.2填空题
1.TCP/IP
2.数据库
3.JDBC APl
4.JDBC DriverAPl
5.java.sql
6.关闭连接
7.DriverManager
8.java.sql.Connection
9.java.sql.PreparedStatement
10.java.sql.ResultSet。