配合< JSP程序设计>例子源代码一起使用

Slides:



Advertisements
Similar presentations
模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
Advertisements

协同数据管理及数据分析专家 2013 年 07 月 通达智能报表中心. 第二章 引子 第四章 领先优势 第五章 应用领域 第六章 案例分享 第三章 产品介绍 第一章 通达信科综合实力 第七章 客户名单(部分) 第八章 系统演示.
第五章 通用网关接口 CGI 简介 Htm l Html + CGI Html + asp 网页可以处理动态的信息.
JSP 与数据库 SQL 语言简介 SQL 语言简介 JDBC 简介 JDBC 简介 使用 JDBC 连接数据库 使用 JDBC 连接数据库 访问数据库 数据库访问应用举例.
第十章 Java 数据库编程. 内容提要 数据库有关概念; 介绍 JDBC 的结构; 重点介绍 JDBC 访问几种数据库的基本过程;
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 配合 例子源代码一起使用 Power point 制作:耿祥义 张跃平 普通高等教育 “ 十一五 ” 国家级规划教材 JSP 与 JavaBean.
Power point 制作 耿祥义 张跃平 配合 例子源代码一起使用. 第 5 章 JSP 与 JavaBean JavaBean 是一个可重复使用的软件组件, 是遵循一定标准、用 Java 语言编写的一 个类,该类的一个实例称为一个 JavaBean ,简称 bean.
IT运维管理解决方案 -轻松管理,自在运维 产品经理 刘曜.
Web数据库技术 Web技术与数据库技术相结合 冯天宇.
第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構
第14章 JDBC技术和数据库开发应用.
5.1 Excel 概述 Excel的特点 1、表格制作 2、完成复杂运算 3、建立图表 4、数据库管理 5、决策支持.
云智慧助力在线医疗服务性能优化 —让IT运营更简单 2015年4月 云智慧科技(北京)有限公司.
資料庫系統 曾俊雄.
管理資訊系統 David Kroenke 資料庫處理 第4章.
MVC Servlet与MVC设计模式.
第12章 JDBC数据库应用程序设计.
資料庫 (Database) SQL Server 2008實作
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
第十一讲 JDBC JDBC基础 JDBC驱动程序 JDBC编程 示例.
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
Apache PHP MySQL 介紹與安裝設定 NIT 戴琬諭 NIT 林佳保.
文科计算机小公共课规划教材 Access 程序设计.
建设数字化的卫生监督体系 深 圳 市 卫 生 监 督 所 2006年4月.
转正述职报告 乐恩公司 史航
指導老師:張簡嘉壬 開發團隊:張宏德、顏嘉均、陳重佑、張恩碩 國立高雄第一科技大學電子工程系 2015/12/11
第15章 Java数据库连接(JDBC) 15.1 创建数据源 15.2 JDBC-ODBC桥接器 15.3 顺序查询
第十章 房地产开发项目的经济评价 §1 房地产开发项目及其前期工作 §2 房地产开发项目经济评价 本章内容.
第二期实验室工作人员培训讲座(三) 加强规范化建设 提高仪器设备管理水平 设备处 黄久龙 2017年9月13日 徐州师范大学设备处 黄久龙.
J2EE与中间件技术 ——Lab.
外观模式.
JAVA 程式設計與資料結構 第十一章 JDBC.
11-1 JDBC的基礎-說明 昇陽公司提出的資料庫中介軟體(Middleware)稱為「JDBC」(Java Database Connectivity),這是一種開放標準的Java程式介面,可以讓Java程式連接資料庫管理系統, 以Java技術來說,就是實作JDBC驅動程式介面(JDBC Driver.
第 11 章 資料庫應用與 ADO物件 製作.
JDBC 数据库系统与应用 2014年.
数据库操作示例 import java.sql.*; //导入java.sql包 public class JDBCDemo {
JAVA vs. SQL Server 建國科技大學 資管系 饒瑞佶 2013/4 V1.
基于Hadoop的数据仓库Hive.
課程名稱:資料庫系統 授課老師:李春雄 博士
組員:陳俊宇 陳典杰 趙俊閔 指導老師:張慶寶
胡鹏 王慧锋 TEL: 数据库系统原理课程设计 实验环节1 胡鹏 王慧锋 TEL:
Data Mining 工具介紹 (Weka+JDBC)
網站內容建置實務 報告人:電資官鄒堡旬少校   .
崑山科技大學資訊管理系 伺服網頁程式設計 系統開發細部流程 教師:游峰碩.
電子商務網站建制技術與實習(II) 助教:江宜政 吳昇洋.
2018/11/23 面向对象与多线程综合实验-数据库操作 教师:段鹏飞.
数据库实验指导(一)
第一章: Java Web 开发技术概述.
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
第2章 ADO.NET 2.0概述.
5 数据库管理与保护 数据库运行的最小逻辑工作单位是事务,所有对数据库的操作,都以事务作为一个整体来执行或撤销。
欢迎各位领导莅临胜利科技检查指导工作 安徽省公共电子阅览室 免费软件安装培训 全国公共文化发展中心安徽省级分中心 2014年09月.
專題J組 題目: 檢定考試管理系統 指導老師: 曾修宜 老師 組員: 曾聖棋 謝宗翰
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
4、按钮事件.
第11章 Android客户端与服务器交互.
指導老師:楊子青 老師 專題組員:朱盈慈、曾孟涵、范珮錡、林佳臻
第十三讲 使用数据库(一) 上海财经大学信息管理与工程学院.
第 7 章 JDBC数据库访问.
封面 (资产管理软件)
Excel - 九十七年度教職員工資訊教育訓練 董建弘.
第14章 外观模式 Deng Song
myApps的安装与配置 郑宗森 一个可根据企业个性化需求快速搭建应用系统的工具平台 一个跟企业共成长的平台
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
Ch11 資料庫範例_與Swing結合 物件導向系統實務.
Microsoft Word 2003 透視合併列印 Microsoft MVP 王作桓.
課程名稱:資料庫系統 授課老師:李春雄 博士
第1章 HTML基础 主讲人:刘泰然 经济管理学院.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

配合< JSP程序设计>例子源代码一起使用 普通高等教育“十一五”国家级规划教材 <JSP程序设计>第6章 JSP 中使用数据库 Power point 制作:耿祥义 张跃平 配合< JSP程序设计>例子源代码一起使用

第6章导读 主要内容 难点 关键实践 JDBC 连接数据库的常用方式 查询记录 更新记录 添加记录 删除记录 用结果集更新数据库 预处理 事务 常见数据库连接 查询Excel电子表格 难点 关键实践

第6章 在JSP中使用数据库 本章将学习在JSP技术中怎样使用数据库,为了更好的体现一个Web应用将数据的处理和显示相分离,除个别例子为了说明基本知识外,本章大部分例子采用JSP+Tag模式,即JSP页面调用Tag文件来完成对数据库的操作。

§6.1. SQL Server 2000数据库管理系统 本章选用SQLServer 2000数据库管理系统。 单击“开始”→“程序”→“Microsoft SQL Server” →“服务器管理器” 2 建立数据库 单击“开始”→“所有程序”→“Microsoft SQL Server” →“企业管理器”,新建立的数据库名称是“Warehouse” 3 创建表 打开“企业管理器”,用鼠标单击“数据库”下的Warehouse数据库,在Warehouse管理的“表”的选项上单击右键,选择“新建表”,将出现相应的建表界面,我们建立的表是product,该表的字段(属性)为: number(char),name(char),madeTime(datetime),price(float).其中 “number”字段为主键.

§6. 2. JDBC JDBC(Java DataBase Connectivity)是Java运行平台的核心类库中的一部分,提供了访问数据库的API,它由一些Java类和接口组成。 JDBC操作不同的数据库仅仅是连接方式上的差异而已,使用JDBC的应用程序一旦和数据库建立连接,就可以使用JDBC提供的API操作数据库 .我们经常使用JDBC进行如下操作: 与一个数据库建立连接。  向已连接的数据库发送SQL语句。 处理SQL语句返回的结果。

§6.3. 连接数据库的常用方式 1.一种常见方式是使用JDBC-ODBC桥接器: 2.另一种是加载Java数据库驱动程序

使用JDBC-ODBC桥接器方式的机制是,应用程序只需建立JDBC和ODBC之间的连接,而和数据库的连接由ODBC去完成。

使用JDBC-ODBC桥接器访问数据库的步骤: try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e){ out.print(e); 创建ODBC数据源 Windows控制面板_管理工具_ ODBC数据源 和ODBC数据源建立连接 Connection con= DriverManager.getConnection(“jdbc:odbc:数据源名字”,“登录名”,“密码”); 例6-1 P144

用Java语言编写的数据库驱动程序称作Java数据库驱动程序。 JDBC可以调用本地的Java数据库驱动程序和相应的数据库建立连接 。

使用纯Java驱动程序方式和数据库建立连接的两个步骤: 加载纯Java驱动程序(以连接SQL Server 2000为例) 连接SQL Server 2000用的纯Java驱动程序(从www.microsoft.com下载) sqljdbc_1.1.1501.101_enu.exe 安装后此文件后,在enu子目录中找到驱动文件sqljdbc.jar,将其复制到Tomcat所用的JDK的\jre\lib\ext文件夹中或Tomcat的安装目录\common\lib中。 和指定的数据库建立连接 try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch(Exception e){ out.print(e); 例6-2 P146

§6.4 查询记录 与数据库建立连接后,就可以使用JDBC提供的API和数据库交互信息,如查询、修改和更新数据库中的表等。对一个数据库中表进行查询操作的具体步骤: 创建SQL语句对象 try{ Statement sql=con.createStatement(); } catch(SQLException e ){ System.out.println(e); 处理查询结果 sql对象可以调用相应的方法实现对数据库中表的查询和修改,并将查询结果存放在一个ResultSet类声明的对象中。 ResultSet rs=sql.executeQuery(“SELECT * FROM 表名”); ResultSet对象使用next()方法一次看到一个数据行,用getXxx (索引或字段名)方法获取字段值。 注: P148 注意内容。

DatabaseMetaData metadata=con. getMetaData(); 6.4.1 顺序查询 如何知道一个表中有哪些字段? 1.与数据库建立的连接对象con调方法getMetaData返回一个DatabaseMetaData对象. DatabaseMetaData metadata=con. getMetaData(); 2. Metadata对象再调用getColumns()方法可以将表的字段信息以行列的形式存储在一个ResultSet对象中。 ResultSet tableMessage= metadata. getColumns(null,null, “employee“,null); 表的字段信息以行列的形式存储在tableMessage对象中. 该对象使用next()方法和getXxx (索引)方法查看该行中信息,第4列是字段名。 例6-3 P149 example6_3.jsp 提交 数据源和表名 inquire.jsp调用tag查询数据库 QueryTag.tag 查询数据库并返回结果

为了在结果集中可以前后移动,随机显示若干记录,必须要返回一个可滚动的结果集。 6.4.2 随机查询 为了在结果集中可以前后移动,随机显示若干记录,必须要返回一个可滚动的结果集。 Statement stmt=con. createStatement(int type,int concurrency); ResultSet re=stmt. executeQuery(SQL语句); int type,int concurrency取值情况及ResultSet常用方法见p151。 例6-4 P152

6.4.3 条件查询 在JSP页面中输入查询条件,Tag文件可以根据JSP提交的条件进行查询。 例6-5 P155

6.4.4 排序查询 可以在SQL语句中使用ORDER BY子语句,对记录排序。在JSP页面中输入排序方式, Tag文件可以根据JSP提交的数据进行排序查询。 例6-6 P158

在JSP页面中输入模糊查询条件,Tag文件可以根据JSP提交的条件进行模糊查询。 6.4.5 模糊查询 在JSP页面中输入模糊查询条件,Tag文件可以根据JSP提交的条件进行模糊查询。 在SQL语句中用like进行模式匹配,% 代替零个或多个字符,下划线代替一个字符等。 比如,下述语句查询产品名称中含有“机”的记录: rs=sql.executeQuery("SELECT * FROM product WHERE name LIKE '%机%'"); 下述语句查询产品名称中含有“电”或“手”的记录: rs=sql.executeQuery(“SELECT * FROM product WHERE name LIKE ‘%[电手]%’ ”); 例6-7 P160

§6.5 更新记录 可以使用SQL语句更新记录中字段的值。 Statement对象调用方法: 例如: 例6-8 P163 §6.5 更新记录 可以使用SQL语句更新记录中字段的值。 Statement对象调用方法: public int executeUpdate(String sqlStatement); 通过参数sqlStatement指定的方式实现对数据库表中记录的字段值更新。 例如: executeUpdate("UPDATE product SET price = 6866 WHERE name='海尔电视机'"); 例6-8 P163

§6.6 添加记录 可以使用SQL语句添加新的记录。 Statement对象调用方法: 例如: 例6-9 P164 §6.6 添加记录 可以使用SQL语句添加新的记录。 Statement对象调用方法: public int executeUpdate(String sqlStatement); 通过参数sqlStatement指定的方式实现向数据库表中添加新的记录。 例如: executeUpdate("INSERT INTO students VALUES ('012','神通手机’,'2010-2-26',2687)"); 例6-9 P164

§6.7 删除记录 可以使用SQL语句删除记录。 Statement对象调用方法: 删除数据库表中的记录。 例如: 例6-10 P167 §6.7 删除记录 可以使用SQL语句删除记录。 Statement对象调用方法: public int executeUpdate(String sqlStatement); 删除数据库表中的记录。 例如: executeUpdate("DELETE FROM product WHERE number = '888' "); 例6-10 P167

§6.8 用结果集操作数据库中的表 可以使用内存中ResultSet对象对底层数据库表进行更新和插入操作。前提是要事先返回结果集。 Connnection con= DriverManager.getConnection("jdbc:odbc:mystar","",""); Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet rs=sql.executeQuery("SELECT * FROM product"); 1。更新记录中的列值 结果集rs的游标移动到第n行 rs.absolute(n); 结果集将第n行的p列的列值更新 updateInt(String columnName, int x)更多方法见p168 更新数据库中的表 rs.absolute(3); rs.updateString("name", "IBM笔记本"); rs.updateRow(); 2。插入记录 结果集rs的游标移动到插入行 rs.moveToInsertRow(); 更新插入行的列值updateXXX() rs.updateString(2, "神通手机"); 插入记录 insertRow() 例6-11 P169

§6.9 预处理语句 例6-12, 6-13 P171 ResultSet executeQuery() 1。预处理语句优点 §6.9 预处理语句 1。预处理语句优点 对于JDBC,如果使用Connection和某个数据库建立了连接对象con,那么con就可以调用方法对参数sql指定的SQL语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象pre中 PreparedStatement pre=con.prepareStatement(String sql); 对象pre可以随时地执行下述方法,提高访问数据库的速度。 ResultSet executeQuery() boolean execute() int executeUpdate() 2。使用统配符 在对SQL进行预处理时可以使用统配符“?”来代替字段的值,只要在预处理语句执行之前再设置统配符所表示的具体值即可。例如: pre=con.prepareStatement("SELECT * FROM product WHERE price < ? "); pre.setDouble(1,6565);(设置统配符“?”的值) 的功能等同于 pre=con.prepareStatement("SELECT * FROM message WHERE price < 6565 "); 预处理语句设置统配符“?”的值的常用方法见p173. 例6-12, 6-13 P171

§6.10 事务 事务由一组SQL语句组成,所谓“事务处理”是指:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。 事务是保证数据库中数据完整性与一致性的重要机制。JDBC事务处理步骤如下: 1。setAutoCommit(boolean autoCommit)方法 为了能进行事务处理,必须关闭连接对象 con的默认设置。 con.setAutoCommit(false); 2. commit()方法 连接对象 con调用commit()方法就是让事务中的SQL语句全部生效。 con.commit(); 3. rollback()方法 连接对象 con调用rollback()方法,撤消事务中成功执行过的SQL语句对数据库数据所做的更新、插入或删除操作,即撤消引起数据发生变化的SQL语句操作,将数据库中的数据恢复到commi()方法执行之前的状态。 con. rollback(); 例6-4 P176

§6.11 常见数据库连接 6.11.1 连接Oracle数据库 下面介绍通过直接加载Oracle的Java数据库驱动程序来连接数据库的方法。 安装Oracle后,找到目录Oracle/ora81/jdbc中的classes.jar(classes12.zip),即用java编写Oracle数据库驱动程序。将classes.jar复制到Tomcat引擎所使用的JDK的扩展目录中。通过如下的两个步骤和一个Oracle数据库建立连接。 1.加载驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); 2.建立连接 Connection con= DriverManager.getConnection( “jdbc:oracle:thin:@主机host:端口号:数据库名“, ”用户名“, ”密码“); 例6-15 P177

Access也是比较流行的一种数据库管理系统,操作简单、使用方便。一些规模不大的Web应用经常使用Access数据库数据库管理系统。 下面介绍使用JDBC-ODBC桥接器方式连接Access数据库。 1.建立JDBC-ODBC桥接器 try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e){ out.print(e); 2.创建ODBC数据源时选择的数据库驱动程序为:Microsoft Access Driver(*.mdb),设置的数据源的名字为redsun 3.和ODBC数据源建立连接 Connection con= DriverManager.getConnection(“jdbc:odbc: “数据源名字”,“登录名”,“密码”); 例6-16 P179

MySql是开源项目,但功能强大、不依赖于平台,受到广泛的关注。 下面介绍使用加载MySql的Java驱动程序来和MySql数据库建立连接。 解压mysql-connector-java-5.0.4.zip文件至硬盘,在解压目录下的mysql-connector-java-5.0.4-bin.jar文件就是连接MySql数据库的Java数据库驱动程序。将该驱动程序复制到Tomcat服务器所使用的JDK的扩展目录中,比如:D:\jdk1.6\jre\lib\ext,或复制到Tomcat服务器安装目录的\common\lib文件夹中。 1.加载驱动程序 try{ Class.forName("com.mysql.jdbc.Driver"); } catch(Exception e){} 2.和指定的数据库建立连接 try{ String uri= "jdbc:mysql://localhost/数据库名"; String user=“用户名"; String password=“密码"; con=DriverManager.getConnection(uri,user,password); catch(SQLException e){} 例6-17 P183

通过JDBC-ODBC桥接器访问Excel电子表格. 步骤: 1.设置数据源 2.选择表 为数据源选择的驱动程序是Microsoft Excel Driver。 2.选择表 必须在电子表格中选出一工作区作为连接时使用的表。在Excel电子表格中拖动鼠标选出范围,如上图6.34所示。然后在Excel菜单中选择“插入”→“名称”→“定义”,给选中的工作区命名(这一工作区的名称将作为连接时使用的表名)。 例6-18 P185