JSP访问数据库
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL数据定义语言
Data Definition Language,DDL用于创建、修改和删除数 据库和数据库表 CREATE、ALTER和DROP 常用的DDL命令如下: 1)CREATE DATABASE– 创建新数据库 2)CREATE TABLE – 创建新的数据库表 3)ALTER TABLE – 修改数据库表定义 4)DROP TABLE – 删除数据库表
Structured Query Language,结构化查询语言
作为程序开发语言,SQL语言可以分为如下几个 部分:数据类型、数据定义语言、数据操纵语言 和数据查询语言 关于SQL语言的详细情况和相关命令的详细语法 ,
可参见:
/sql/default.asp
安装MySQL
§8.2.2 配置MySQL数据库
§8.2.2 配置MySQL数据库
启动MySQL监视器(或称MySQL命令行客户
端),测试MySQL服务器是否正常运行
1.使用命令行来启动MySQL监视程序
使用图形界面来管理MySQL数据库服务器
§8.2.3 创建数据库
使用MySQL数据库服务器,一般需要创建自己的 数据库, 创建数据库前,必须先启动MySQL服务
支持数据维护,包括编辑、删除等
§8.1.1 数据库
数据库管理系统:DBMS
(Database Management System)
RDBMS
多个表---关联
创建和修改DB
数据库中包含一个或多个表(Tables)。一个表
可以包含多个列的定义,也可包含多行数据记录
LastName 陈 FirstName 龙 Address 北京交通大学 City 北京
第八章 访问数据库
介绍数据库、SQL和JDBC的基本概念
在JSP页面中如何使用JSTL的SQL标记库及 JDBC访问数据库
MySQL
内容提纲
1 .数据库和SQL语言
2 . 安装和配置MySQL 3 .使用JDBC访问数据库 4.小结与习题
§8.1 数据库和SQL语言
8.1.1 数据库
判断是否是结果集的结束位置
取不同字段类型数据的方法
getByte(”columnName”):取得当前行中列名为columnName的字节类型值 getShort(”columnName”):取得当前行中列名为columnName的短整类型值 getInt(”columnName”) :取得当前行中列名为columnName的整型类型值
5)CREATE INDEX – 创建索引
6)DROP INDEX – 删除索引 DDL语句的使用实例 DDL.sql
SQL数据操纵语言
Data Manipulation Language
DML,用于管理存储在数据库中的数据,包括插入
数据、更新数据和删除数据 包括命令: INSERT INTO、UPDATE和DELETE DML语句的使用实例 DML.sql
getDate(”columnName”) : 取得当前行中列名为columnName的日期类型值
getTime(”columnName”) :取得当前行中列名为columnName的时间类型值
§8.3.2 JDBC中使用JDBC
JDBC可以用在任何Java代码段中
使用JDBC连接访问数据库mysqldata.jsp
URL
User
jdbc:mysql://host:3306/dbName
password
§8.2.6 安装和配置JDBC驱动
JDBC的几个参数 driver URL User password
Caucho-jdbc-mysql-2.1.0.jar
Caucho Resin
com.caucho.jdbc.mysql.Driver jdbc:mysql-caucho://host:3306/dbName
//执行SQL语句
Stmt.executeUpdate(upd)
(3)关闭数据库连接
close( )
ResultSet对象常用方法
方 法
beforeFirst()
使用说明
移动到结果集的开始位置(第一条记录前)
first()
previous() next() last() afterLast() absolute(int row) relative(int row) isBeforeFirst() isFirst()
„dolphin'@'localhost' IDENTIFIED BY „dolphin' WITH GRANT OPTION
启动MySQL监视程序创建用户,需要root 权限
也可以使用图形界面的MySQL管理工具来 管理用户
§8.2.5 创建表和数据
使用用户 dolphin 来创建数据库表和管理数据
移动到第一条记录
上移一条记录 下移一条记录 移动到最后一条记录 移动到结果集的结束位置(最后一条记录后) 移动到row指定的记录,绝对定位 从当前记录开始,上移或下移row条记录 判断是否是结果集的开始位置 判断是否是结果集的第一条记录
isLast()
IsAfterLast()
判断是否是结果集的最后一条记录
SQL数据查询语言
Data Query Language
DQL,提供对数据库数据的查询
DQL使用SELECT命令来执行数据检索 , SELECT语句可以简单的查询,也可以很复杂的 使用 SELECT语句的使用实例 select.sql
§8. 2 安装和配置MySQL
MySQL数据库是一个流行的免费开源数据库,支 持目前流行的各种操作系统,包括UNIX(如 Solaris、HP-UX、IBM AIX)、Linux、MacOS 和Windows等
二、MySQL(mm.mysql-3.0.2-bin.jar)
Class.forName(“com. mysql.jdbc.Driver”) 或Class.forName( "org.gjt.mm.mysql.Driver" );
数据库
数据库管理系统
8.1.2 SQL简介
SQL数ห้องสมุดไป่ตู้类型
SQL数据定义语言
SQL数据操纵语言
SQL数据查询语言
§8.1.1 数据库
数据库用于存储结构化数据,并且提供对存储数 据的访问。数据库系统应该可以 :
支持使用数据结构来创建和管理数据;
支持将数据存储到该数据结构;
支持搜索和检索数据;
Connector/J 下载地址: /products/connector/j/
本章的例子中使用 :
mysql-connector-java-5.1.16-bin.jar
配置 JDBC驱动程序
§8.2.6 安装和配置JDBC驱动
开发使用数据库的应用:JAR文件的绝对路径
§8.3.1 JDBC简介
使用JDBC的一般步骤
(1)连接数据库
//注册JDBC驱动程序类,类名为com.mysql.jdbc.Driver Class.forName(“com.mysql.jdbc.Driver”).newInstance(); Con=DriverManager.getConnection(“jdbc:mysql:// localhost:3306/ student?user=root&password=1234& useUnicode=true&characterEncoding=GB2312”)
主机名或IP地址 数据库名字
§8. 3 使用JDBC访问数据库
3.1 JDBC简介 3.2 JSP中使用JDBC
§8.3.1 JDBC简介
JDBC:Java访问表类型数据源API
SQL的数据库 电子数据表中的数据 SQL的数据库
所有JDBC驱动都提供给开发人员相同的编程接口 JDBC提供的API允许开发人员连接数据库、执行 SQL语句、操纵数据库数据和获得返回结果
CLASSPATH环境变量中
Web应用:
WEB-INF/lib JAR文件
多个应用使用同一个数据库
JAR文件
{tomcat}/common/lib
§8.2.6 安装和配置JDBC驱动
JDBC的几个参数
driver
MySQL Connector/J 主机名或IP地址 数据库名字
com.mysql.jdbc.Driver
SQL数据类型
在JSP中使用SQL查询结果的数据 ,将jsp中的数据类型映射
到sql的数据类型
在JSP中,JSP数据类型实际就是Java支持的数据类型,如 byte、short、int、long、boolean、char、float、double等 SQL支持的数据类型包括:binary、bit、char、datetime、 float、integer、varchar等 注意,不同的数据库在映射SQL数据类型到JSP数据类型时 存在细微的差别
§8.3.1 JDBC简介
(2)创建语句对象 (Statement)
执行需要在数据库中执行的SQL语句
Stmt.executeUpdate(sql)
Stmt.executeQuery(sql)
//创建语句对象 Stmt=con.createStatement(); //构造SQL语句字符串 String upd=“INSERT INTO myTable(name) VALUES(„陈龙’)”
getLong(”columnName”) :取得当前行中列名为columnName的长整类型值
getFloat(”columnName”) :取得当前行中列名为columnName的单精实数类型 值 getDouble(”columnName”) : 取得当前行中列名为columnName的双精类型值 getBoolean(”columnName”) : 取得当前行中列名为columnName的布尔类型值 getString (”columnName”) :取得当前行中列名为columnName的字符串类型 值
C:>net start mysql
§8.2.3 创建数据库
CREATE DATABASE SHOW DATABASES
使用图形界面的MySQL管理工具来创建数据库
§8.2.4 创建用户
同时可以指定用户的权限
mysql>GRANT ALL PRIVILEGES ON hellobeijing.* TO
在helloBeijing数据库 中创建一个People表
§8.2.5 创建表和数据
可以使用图形界面的MySQL管理工具来创建和管
理数据库表
§8.2.6 安装和配置JDBC驱动
常用两个JDBC驱动:
MySQL提供的Connector/J驱动程序
Caucho Resin提供的 MySQL驱动程序
注意:
form1.html
不推荐在JSP页面的代码中直接访问数据库; 使用业务逻辑层JavaBean来实现
附.JDBC连接数据库的常用方法:
一、Microsoft SQLServer(microsoft) Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" ); cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://DBServerIP :1433;databaseName=master", userName, password );
MySQL下载安装和配置需要如下几个步骤:
1.下载和安装MySQL; 2.配置MySQL数据库; 3.创建数据库; 4.创建用户; 5.安装和配置JDBC驱动。
§8. 2 安装和配置MySQL
下载网址:
/downloads/ 文件名类似于 :mysql-5.0.xx-win.zip
邓
余
萍
杨
上海交通大学
清华大学
上海
北京
§8.1.1 数据库
常用的数据库系统有Oracle、DB2、MS SQL Server、Sybase、MS Access、
Informix、Cloudscape和MySQL等
SQL语句可以定义数据库表、进行数据查
询和修改等操作
§8.1.2 数据库
ANSI标准