第6章 数据库编程-单元测验-数据库原理及应用

Java嵌入SQL语句执行后,返回结果存储在什么对象中

ResultSet

DriverManager

Connection

PreparedStatement

Java嵌入SQL语句,能传递动态参数执行查询的是什么接口

Statement

PreparedStatement

prepareStatement

CallableStatement

java.sql.Statement接口有两个子接口:CallableStatement和PreparedStatement。

其中:
Statement

SQL语句只执行一次时推荐使用,执行静态的sql语句效率更高。
PreparedStatement

    一次编译多次执行。若有带参数的语句要绑定不同参数多次执行,效率更高;
    执行动态参数的SQL语句,使用其setXxx方法能防止SQL注入,更加安全。

CallableStatement

为PreparedStatement的子接口,用于执行 SQL 存储过程

Java嵌入SQL语句,能调用执行存储过程的是什么接口

Statement

PreparedStatement

prepareStatement

CallableStatement

数据库的存储过程和触发器都可以有输入参数x

存储过程有,触发器没有

JDBC和ODBC都可以在任何高级语言中,建立与数据库的互连。x

servlet程序是用Java语言编写v

在ODBC数据库编程中,驱动程序的加载是由用户应用程序完成。x

触发器可以用于实现数据库表的数据完整性约束。v

数据库游标是存储在内存中的查询结果集。v

一、游标的基本概念

(1)游标(Cursor)是一种临时的数据库对象;

(2)用来存放从数据库表中查询返回的数据记录;

(3)提供了从结果集中提取并分别处理每一条记录的机制;

(4)游标总是与一条SQL查询语句相关联;

(5)游标包括:SQL语言的查询结果,指向特定记录的指针。

servlet是运行在客服端的应用程序。x

 Servlet的特点

Servlet是用Java语言编写的服务器端小程序,驻留在web服务器中,

并在其中运行,扩展了web服务器的动态处理功能。

所有的宿主语言都使用EXEC SQL 执行嵌入式SQL语句。x

HTML语句和JSP语句都是下载到浏览器端来执行。x

Mybatis是使用ODBC访问数据库,并完成数据库记录与对象之间的映射。x

有学生表(学号,学生姓名,性别,所属院系),其中所属院系一定是已有的院系。实现该约束的可行方案是。

在学生表上定义一个视图

在学生表上定义一个存储过程

在学生表上定义插入和修改操作的触发器

在学生表上定义一个函数


在数据库中,存储过程是一组预先定义并( )的SQL语句。

保存

解释

编译

编写


下列哪个语句用于创建触发器

CREATE FUNCTION

CREATE TRIGGER

ALTER TRIGGER

DROP TRIGGER


下列哪个语句用于创建存储过程。

CREATE PROCEDURE

CREATE TABLE

DROP PROCEDURE

CREATE FUNCTION


以下哪个不是存储过程的优点

实现模块化编程,可以被共享和重用

可以加快程序的运行速度

可以增加网络的流量

可以提高数据库的安全性


以下不属于触发器特点的是

基于一个表创建,可对多个表进行操作

被触发自动执行

可以带参数执行

可以实施更复杂的数据完整性约束


从游标中读取数据,使用什么命令

select

fecth

select from

read

重点问题讨论

1.在现阶段,数据库编程主要有哪些连接方式?

(1) ODBC(开放数据库连接)

(2) JDBC (Java数据库连接)

(3) ADO.NET.

(4) PDO (PHP数据对象)

2.ODBC连接数据库主要有哪几个步骤?

(1)首先必须用ODBC管理器注册一个数据源;

(2)管理器根据数据源提供的数据库 位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系;

(3)应用程序只需将 数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接;

(4)这样,应用程序就可以通过驱动 程序管理器与数据库交换信息;

(5)驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的 驱动程序;

(6)驱动程序在执行完相应的SQL操作后,将结果通过驱动程序管理器返回给应用程序

3.JDBC驱动程序有几种类型,各有什么特点?

(1) JDBC-ODBC Bridge Driver: JDBC-ODBC桥接 驱动,将JDBC转换为ODBC

(2) Natvie-AP1 partly-Java Driver:部分使用Java编写和部分使用本机代 码编写

(3) JDBC-Net All-Java Driver:纯粹的Java客户程序库,架构灵活

(4) Native-protocol All- Java Driver:纯Java实现的驱动程序,支持跨平台部署。

4.JDBC连接数据库主要有哪几个步骤?

(1) 在Java程序中需要加载Java包java.sq.*中的核心类和接口,然后加载驱动程序

(2)创建数据 连接对象

(3)创建Statement对象

(4)调用Statement对象的相关方法执行相对应的SQL语句

(5) 处理数据库的返回结果

(6) 关闭数据库连接

5.Java Servlet编程有什么优点?Servlet工作过程是什么?

优点:(1) Servlet是持久的。(2) Servlet是与平台无关的。 (3) Servlet是可扩展的。 (4)Servlet是安全的。 (5) Servlet可以在多种多样的客户机上使用

工作过程: (1)客户机将请求发送到服务器;

(2)Servlet程序是由Web服务器调用,Web服务器收到客户端的Servlet访问请求后,解析客户端的请求;

(3)服务器上的Web容器转载并实例化Servlet;

(4)调用Servlet实例对象的init()方法;

(5)调用Servlet的service()方法并将请求和响应对象作为参数传递进去;

(6)Servlet 创建一个响应,并将其返回到Web容器。

(7)Web容器将响应发回客户机。

(8)服务器关闭或Servlet空闲时间超过一定限度时,调用destory()方法退出。

6.使用存储过程的优点和缺点分别是什么?

优点:(1) 减少网络通信量,

(2) 执行速度更快,

(3) 更强的适应性,

(4) 降低了业务实现与应用程序的耦合,

(5) 降低了开发的复杂性,

(6) 保护数据库元信息,

(7) 增强了数据库的安全性。

缺点:(1)SQL本身是一种结构化查询语言,而存储过程本质上是过程化的程序;面对复杂的业务逻辑,过程化处理逻辑相对比较复杂;而SQL语言的优势是面向数据查询而非业务逻辑的处理。

(2) 如果存储过程的参数或返回数据发生变化,一般需要修改存储过程的代码,同时还需要更新主程序调用存储过程的代码。

(3) 开发调试复杂,由于缺乏支持存储过程的集成开发环境,存储过程的开发调试要比一般程序困难。

(4) 可移植性差

7.在数据库应用开发中,触发器主要应用于哪些情况?

PostgreSQL触发器可用于:

(1)验证输入数据的完整性。

(2)执行特殊的业务规则。

(3)同一次向不同表插入记录,使用触发器保障数据的一致性。

(4)审计跟踪在数据库表上进行的插入、修改、删除。

(5)将数据复制到不同的文件以实现数据一致性。

8.Java语言中执行嵌入式SQL语句,如何向SQL语句传递参数?如何向主语言返回执行结果集?

(一)向SQL语句传递参数:数据库查询一般需要返回多条记录,则ResultSet接口对象用于返回查询结果集,该结果集本质上是内存中用于存储多条记录的游标,主要有以下几种方法访问游标的记录信息:

1)ResultSet.next()将游标由当前位置移动到下一行;

2)ResultSet.getString(String columnName) 获取指定字段的String类型值;

3)ResultSet.getString(int columnIndex) 获取指定索引的String类型值;

4)ResuleSet.previous()将游标由当前位置移动到上一行。

(二)向主语言返回执行结果集:

如果Java宿主语言需要向SQL语句传递参数,则使用动态查询prepareStatement对象,preparedStatement预编译SQL语句,并支持批处理,执行查询有类似Statement对象的三种执行方式,且执行方法中没有参数。

1)prepareStatement.executeUpdate()执行更新;

2)prepareStatement对象使用addBatch()向批处理中加入更新语句,

3)executeBatch()方法用于成批地执行SQL语句

猜你喜欢

转载自blog.csdn.net/aiqq136/article/details/124628626