第21章学生信息管理——三层结构数据库编程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21.3.3 通过数据源建立数据库连接
• 通过数据源StuDSN与学生库Studb建立连接: Connection con = DriverManager.getConnection("jdbc:odbc:StuDSN"); • DriverManager类建立连接的常用方法: (1)static Connection getConnection(String url):试图建 立与URL形式的数据库连接。url串的语法形式: jdbc:子协议:子名称 • 其中,jdbc是协议名,子协议有odbc或mysql等,子名称有 数据源名称等。 (2)static Connection getConnection(String url, String user, String password):多了用户名和密码。
21.2.1 在DBMS上建立数据库
• 访问数据库之前先要建立数据库。 • 使用DBMS创建数据库优点: – 操作直观 – 界面友好 – 互动性强 • 关于如何在DBMS上建立数据库,不在本书叙 述范围。
21.2.2 运行SQL脚本建立数据库
• 以免费的SQL Server 2005 Express Edition(速成版) 为例,通过SQL脚本创建数据库。 • 【例21-1】编写SQL脚本,建立学生数据库。数据库含有 一个数据表,字段为:学号、姓名、性别、专业和年级。 并使用脚本录入4条记录。 USE master GO if exists (select * from sysdatabases where name='Studb') drop database Studb GO CREATE DATABASE Studb GO
Java应用程序 JDBC驱动程序 SQL命令 数据库
结果
使用JDBC/ODBC桥接驱动程序
1. 载入驱动程序 使用JDBC/ODBC桥接驱动程序,该驱动程序的 名称为sun.jdbc.odbc.JdbcOdbc- Driver,使用下 面的语句将载入JDBC/ODBC桥接驱动程序:
2. 建立连接 使用下面的语句建立一个和数据库的连接:
访问数据库
• 配置ODBC数据源 – 1. 在控制面板中,打 开管理工具→数据源 (ODBC),弹出 “ODBC数据源管理器” 对话框,点击“系统 DSN”选项卡,如图所 示。该对话框中列出 若干已经配置好的针 对不同DBMS的系统数 据源。
访问数据库
• 配置ODBC数据源
– 2. 单击“添加”按钮, 添加新的数据源,在 打开的“创建新数据 源”对话框中,根据 使用的DBMS类型选 择要安装数据源的驱 动程序,这里选择 “SQL Server”,如 图所示。
• 本章实训程序运行结果:
21.2 建立数据库
• 程序数据和代码往往是分离的。 • 数据使用数据库存放,方便检索,持久保存,能按动 态添加、修改和删除,并能共享。 • 数据库管理系统(DBMS)。流行的关系型DBMS: – SQL Server – Access – Oracle – MySQL等 • 每种DBMS有版本之分,如SQL Server有2000、 2005、2008等版本,还有企业版、开发版、速成版 等。
访问数据库
• 配置ODBC数据源
– 3. 单击“完成”按钮,打 开“创建到SQL Server的 新数据源”对话框,在数 据源名称文本框中填写 “data”,在服务器下拉框 中选择要连接的数据库服 务器名,这里选择“(local)” (表示连接本机的数据 库),如图所示。
访问数据库
• 配置ODBC数据源
USE Studb CREATE TABLE Stus ( Num char(8) PRIMARY KEY, Name nvarchar(4) NOT NULL, Sex nchar(1) NOT NULL, Specialty nvarchar(7) NULL, Year int NULL, CHECK(Sex='男' or Sex='女' ), CHECK((Year>=2000 and Year<=2020) or Year=0), ) GO insert into Stus(Num,Name,Sex,Specialty,Year) values ('12010001',' 赵益','男','软件技术',2012) insert into Stus(Num,Name,Sex,Specialty,Year) values ('12010002',' 钱珥','女','软件技术',2012) insert into Stus(Num,Name,Sex,Specialty,Year) values ('12010003',' 孙散','男','软件技术',2012) insert into Stus(Num,Name,Sex) values ('12010004','李四','男') GO
java.sql包
• JDBC做三件事:与数据库建立连接、发送 SQL 语句并处理结果。JDBC API包括一个框架(来自 java.sql包),凭借此框架可以动态地安装不同驱 动程序来访问不同数据源、执行SQL语句、处理 结果集或更新数据记录等。
类或接口名称 说明 DriverManager 此类用于加载和卸载各种驱动程序并建立 与数据库的连接 Connection 此接口表示与数据的连接 Statement 此接口用于执行SQL语句 PreparedState 此接口用于执行预编译的 SQL 语句 ment ResultSet 此接口表示查询出来的数据库数据结果集 SQLException 此接口用于检索数据库提供的错误消息和 错误代码
(3)PreparedStatement prepareStatement(String sql):创建预编译语句(对象)。 (4)PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)。 (5)void close():关闭连接,释放资源。 (6)void setAutoCommit(boolean autoCommit):设 置连接对象是否自动提交。 (6)void commit():提交事务,实现数据更改。 (7)void rollback():回滚事务。 • 注:默认连接对象自动提交,执行每个语句都会自动 提交更改。如果禁用自动提交,那么要提交更改就必 须显式调用commit方法。
– 4. 单击“下一步”, 默认选择“使用网络 登录ID的Windows NT验证”,如图所 示。继续“下一步”, 选中“更改默认的数 据库”复选框,然后 在激活的下拉框中选 择“pubs”数据库, 如图所示。
访问数据库
• 配置ODBC数据源
– 5. 继续“下一步”, 单击“完成”按钮, 弹出“ODBC Microsoft SQL Server安装”信息对 话框,如图,可以单 击“测试数据源”按 钮进行连接测试,确 认无误后,点击“确 定”,即完成数据源 的设置。
4.
5.执行语句:对SELECT语句来说,使用executeQuery 方法执行,返回结果是ResultSet类型的结果集:对 INSERT、UPDATE、DELETE语句来说,使用 executeUpdate方法执行,返回结果是影响的行数。
6.处理结果:对返回的结果集或影响行数进行处理,可 以进行显示、判断等操作。 7.关闭资源:与各种对象创建的顺序相反,依次关闭 ResultSet、Statement、Connection对象。
21.3.4 Connection连接
• Connection是接口类型,连接对象只能通过DriverManager 类的getConnection方法建立。 • 连接接口Connection的常用方法: (1)Statement createStatement():创建语句对象。 (2)Statement createStatement(int resultSetType, int resultSetConcurrency ):创建语句对象,该对象将生成具 有给定类型和并发性的ResultSet(结果集)对象。 • 参数resultSetType是结果集类型,取自下面3个ResultSet 静态常量: – ResultSet.TYPE_FORWARD_ONLY – ResultSet.TYPE_SCROLL_INSENSITIVE – ResultSet.TYPE_SCROLL_SENSITIVE
使用JDBC API进行数据库 操作步骤
1. 导入JDBC API:首先利用import语句导入java.sql包。
2.
3.
装载驱动程序:针对不同DBMS,使用Class类的 forName方法加载驱动程序类的支持。
建立数据库连接:使用DriverManager类的 getConnection方法,指明数据库或数据源的url,以 及登录DBMS的用户名及口令,创建数据库连接对象 (Connection接口对象)。 创建JDBC Statements对象:使用已有的 Connection数据库连接对象创建一个Statement对象, 利用该对象把SQL语句执行适当的方法发送到DBMS。
JDBC 简介
Java使用JDBC(Java DataBase Connectivity)技术进行数据库的访问。使用 JDBC技术进行数据库访问时,Java应用程序通 过JDBC API和JDBC驱动程序管理器之间进行通 信,例如Java应用程序可以通过JDBC API向 JDBC驱动程序管理器发送一个SQL查询语句。 JDBC驱动程序管理器又可以以两种方式和最终 的数据库进行通信:一种是使用JDBC/ODBC桥 接驱动程序的间接方式;另一种是使用JDBC驱 动程序的直接方式。
• 用记事本把脚本代码录入电脑,存盘为createstudb.sql。 • 设计算机已安装速成版SQL Server 2005,打开命令行窗 口,进入脚本文件目录。 • 执行下面命令生成学生数据库Studb.mdf: sqlcmd -S .\SQLExpress -E -i createstudb.sql
第21章 学生信息管理 ——三层结构数据库编程
能力目标: • 能使用JDBC建立数据库连接,能编写Java代 码连接数据库。 • 能编写添加、修改、删除数据库记录的程序代 码。 • 理解表示层、业务逻辑层、数据层,理解三层 结构的应用程序。
• 能编写三层结构的学生信息管理应用程序,并 能打包发布。
21.3.1 JDBC与JDBC-ODBC
21.3 连接数据库
• 连接数据库之前先要加载数据库驱动程序。通常是加 载JDBC-ODBC桥驱动程序。代码如下:
• JDBC类似于ODBC,是API软件包java.sql,含有多 个类和接口,常用的:
– – – – – – Driver DriverManager Connection Statement PreparedStatement ResultSet Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
JDBC简介
• JDBC是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一访问,它由一 组用Java语言编写的类和接口组成。使用 JDBC API,可以向各种关系数据发送SQL语 句。 • 目前比较常见的JDBC驱动程序可分为以下4个 种类: – JDBC-ODBC桥加ODBC驱动程序 – 本地API – JDBC网络纯Java驱动程序 – 本地协议纯Java驱动程序
内容介绍
• • • • • • • • • 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 任务预览 建立数据库 连接数据库 访问数据库 三层结构应用程序概述 三层结构学生信息管理程序 打包发布程序 本章小结 实训21:实现三层结构学生信息管理程序
21.1 任务预览