资源预览内容
第1页 / 共109页
第2页 / 共109页
第3页 / 共109页
第4页 / 共109页
第5页 / 共109页
第6页 / 共109页
第7页 / 共109页
第8页 / 共109页
第9页 / 共109页
第10页 / 共109页
亲,该文档总共109页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
JSP实用教程(第三版),配合JSP实用教程(第三版) 例子源代码一起使用 Power Point 制作 张跃平 耿祥义,第7章 JSP中使用数据库,2019/11/6,2,本章主要内容,7.1 MySQL数据库管理系统 7.2 JDBC 7.3 连接MySQL数据库 7.4 查询记录 7.5 更新、添加与删除记录 7.6 用结果集操作数据库中的表 7.7 预处理语句 7.8 事务 7.9 分页显示记录 7.10 常见数据库连接 7.11 标准化考试,2019/11/6,3,7.1 MySQL数据库管理系统,MySQL数据库管理系统,简称MySQL,是世界上最流行的开源数据库管理系统,其社区版(MySQL Community Edition)是世界上最流行的免费下载的开源数据库管理系统。,目前许多Web开发项目都选用MySQL,其主要原因是MySQL的社区版(MySQL Community Edition)性能卓越,满足许多Web应用已经绰绰有余,而且MySQL的社区版是开源数据库管理系统、可以降低软件的开发和使用成本.,2019/11/6,4,1.下载 登录后选择导航条上的products,在出现的页面的左侧选择“MySQL Community Edition”或在出现的页面的右侧选择“下载MySQL社区版”。如图7.1所示意。,7.1.1 下载、安装与启动MySQL,2. 安装 将下载的mysql-5.6.16-win32.zip解压缩到本地计算机即可,比如解压缩到D:。形成的安装目录结构如图7.2。,3.启动 打开MS-DOS命令行窗口,进入到bin目录中,执行MySQL安装目录的bin子目录中的mysqld.exe文件: 即在命令行键入: mysqld 或 mysqld -nt 启动MySQL数据库服务器。启动成功,MySQL数据库服务器将占用当前MS-DOS窗口,如图7.3所示。,2019/11/6,5,7.1.2 建立数据库,启动MySQL数据库服务器后,就可以建立数据库,并在数据库中创建表。,可以下载图形界面的MySQL管理工具,并使用该工具进行创建数据库、在数据库中创建表等操作,MySQL管理工具有免费的也有需要购买的。 也可以使用MySQL提供的命令行工具进行创建数据库、在数据库中创建表等操作,2019/11/6,1使用MySQL管理工具,可以登录:,(1)建立连接 启动navicat for MySQL 出现如图7.4所示界面 。我们建立的连接名称是gengxiangyi,用户名取root,密码是空,MySQL服务器占用的端口是3306,如图7.5。 (2)建立数据库 在新建的连接(gengxiangyi)上单击鼠标右键,然后选择“新建数据库”,在弹出的新建数据库对话框中输入,选择有关信息.如图7.6所示. (3)创建表 在其“表”选择项上单击鼠标右键,选择“新建表”,将出现创建表的对话框。如图7.7所示以及7.8所示。,2019/11/6,7,2使用MySQL监视器,MySQL提供的监视器(MySQL monitor),允许用户使用命令行方式管理数据库。如果读者有比较好的数据库知识,特别是SQL语句的知识,那么使用命令行方式管理MySQL数据库也是很方便的.,需要再打开一个MS-DOS命令行窗口,并使用MS-DOS命令进入到bin目录中,然后使用默认的root用户启动MySQL监视器(在安装MySQL时root用户是默认的一个用户,没有密码)。命令如下: mysql u root,如图7.9所示,2019/11/6,8,(1) 创建数据库,启动MySQL监视器后就可以使用SQL语句进行创建数据库、建表等操作。在MS-DOS命令行窗口输入SQL语句需要用“;”号结束,在编辑SQL语句的过程中可以使用c终止当前SQL语句的编辑。需要提醒的是,可以把一个完整的SQL语句命令分成几行来输入,最后用分号作结束标志即可。,使用MySQL监视器创建一个名字为Book的数据库,在当前MySQL监视器占用的命令行窗口输入创建数据库的SQL语句:,create database Book;,(如图7.10所示意),2019/11/6,9,(2) 为数据库建表,首先进入该数据库(即使用数据库): use Book 如图7.11所示意。,在数据库Book建立一个名字为bookList表:(如图7.12) CREATE TABLE bookList ( ISBN varchar(100) not null , name varchar(100) CHARACTER SET gb2312, price float , PRIMARY KEY (ISBN) );,插入记录的SQL语句:(如图7.13) insert into bookList values(7-302-01465-5,高等数学,28.67);,查询记录的SQL语句(图7.14) select * from bookList;,2019/11/6,10,(3)导入.sql文件中的SQL语句,可以事先将需要的SQL语句保存在一个扩展名是.sql的文本文件中,然后在MySQL监视器占用的命令行窗口使用source命令导入.sql的文本文件中的SQL语句.,drop table carList ; create table carList( number char(60) CHARACTER SET gb2312 not null, name char(50) CHARACTER SET gb2312 , price float, year date, PRIMARY KEY(number) ); insert into carList values(加A89CQ8,奔驰,820000,2015-12-26); insert into carList values(洲C12456,宝马,620000,2015-10-10); select * from carList;,然后在当前MySQL监视器占用的命令行窗口键入如下命令: source d:/1000/group.sql 导入SQL语句,如图7.15 。,group.sql文本文件的内容如下:,2019/11/6,11,删除数据库的命令:drop database ,例如:删除名为tiger的数据库: drop database tiger; 删除表的命令:drop table ,例如,使用book数据库后,执行 drop table booklist; 将删除book数据库中的bookList表。,(4)删除数据库或表,2019/11/6,12,7.2 JDBC,JDBC(Java DataBase Connectivity)提供了访问数据库的API,即由一些Java类和接口组成,是Java运行平台的核心类库中的一部分。在JSP中可以使用JDBC实现对数据库中表的记录的查询、修改和删除等操作。如图7.16所示意,我们经常使用JDBC进行如下的操作: 与一个数据库建立连接。 向已连接的数据库发送SQL语句。 处理SQL语句返回的结果。,2019/11/6,13,使用JDBC-数据库驱动程序方式和数据库建立连接需要经过2个步骤:,7.3 连接MySQL数据库,加载JDBC-数据库驱动程序 和指定的数据库建立连接,如图7.17所示意,2019/11/6,14,教材下载的是mysql-connector-java-5.1.28.zip,将该zip文件解压至硬盘,在解压后的目录下的mysql-connector-java-5.1.28-bin.jar文件就是连接MySQL数据库的JDBC-数据库驱动程序。将该驱动程序复制到Tomcat服务器所使用的JDK的扩展目录中(即java_home环境变量指定的JDK,见第1章的1.2),比如:D:jdk1.7jrelibext 或复制到Tomcat服务器安装目录的 commonlib文件夹中,比如: D:apache-tomcat-8.0.3commonlib,7.3.1加载JDBC-数据库驱动程序,加载MySQL的JDBC-数据库驱动程序代码如下: try Class.forName(“com.mysql.jdbc.Driver“); catch(Exception e),2019/11/6,15,为了能和MySQL数据库服务器管理的数据库建立连接,必须保证该MySQL数据库服务器已经启动,如果没有更改过MySQL数据库服务器的配置,那么该数据库服务器占用的端口是3306。假设MySQL数据库服务器所驻留的计算机的IP地址是192.168.100.1,7.3.2 建立连接_1,使用 Connection getConnection(String,String,String) 方法建立连接的代码如下:,try String uri = “jdbc:mysql:/ 192.168.100.1:3306/warehouse“; String user =“root“; String password =“99“; con = DriverManager.getConnection(uri,user,password); catch(SQLException e) System.out.println(e); ,2019/11/6,16,7.3.2建立连接_2,使用 Connection getConnection(String) 方法建立连接的代码如下: try String uri = “ jdbc:mysql:/192.168.100.1:3306/warehouse?user=root 如果root用户没有设置密码,那么将上述uri中的 &password=99 更改为: &password=,2019/11/6,17,7.3.2建立连接_3,避免操作数据库出现中文乱码(细节见稍后的7.3.3),那么需要使用 Connection getConnection(String) 方法建立连接,连接代码是(假设用户是root,其密码是99): String uri = “jdbc:mysql:/127.0.0.1/warehouse?“+ “user=root,用户要和连接MySQL驻留在同一计算机上,使用的IP地址可以是127.0.0.1或localhost。另外,由于3306是MySQL数据库服务器的默认端口号,链接数据库时允许应用程序省略默认的3360端口号.,2019/11/6,18,7.3.3 MySQL乱码解决方案_1,1数据库和表使用支持中文的字符编码 在创建数据库时指定数据库使用的字符编码: create 数据库名 CHARACTER SET字符编码 创建表时,可以指定某个字段使用的字符编码: 字段名 类型 CHARACTER SET字符编码,例如:,create people CHARACTER SET gb2312 create table myList ( id int, name varchar(100) CHARACTER SET gb2312, PRIMARY KEY (id) );,2019/11/6,19,7.3.3 MySQL乱码解决方案_2,2连接数据库支持中文编码,JSP中连接MySQL数据库时,需要使用 Connection getConnection(java.lang.String) 方法建立连接,而且向该方法参数传递的字符串是: “jdbc:mysql:/地址/数据库?user=用户,2019/11/6,20,例子7_1,例子1是一个简单的JSP页面,该页面中的Java程序片代码负责加载JDBC-驱动程序,并连接到数据库warehouse,查询product表中全
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号