chap06 JSP访问数据库

更新时间:2023-07-17 13:16:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

jsp访问数据库ppt

第六章 JSP访问数据库

jsp访问数据库ppt

本章内容 如何链接数据库? JDBC ODBC

如何操作数据库? 使用PreparedStatement和CallableStatement 事务 使用厂商驱动进行数据库连接

jsp访问数据库ppt

JDBC简介 网站数据放在数据库内

前台 WEB服 务器JDBC

后台

数据库

如何能从页面访问到数据库中的内容呢?

JAVA提供了一套访问数据库的机制——JDBC。该机制

包含一系列的API,让JAVA代码可以直接连接到数据库 内,并对数据库中的数据进行添加、删除、查找、修 改等操作

jsp访问数据库ppt

JDBC简介 JDBC的API放在“java.sql”包内 包括以下类或接口 java.sql.Connection:负责连接数据库

java.sql.Statement:负责执行数据库 SQL 语句 java.sql.ResultSet:负责存放查询结果

jsp访问数据库ppt

JDBC简介 JDBC怎么知道系统采用的是什么数据库?SQL SERVER?

ORACLE? MY SQL? SYBASE?..... 针对不同类型的数据库,JDBC 机制中提供了"驱动程序"

的的概念。对于不同的数据库,程序只需要使用不同的 驱动

jsp访问数据库ppt

JDBC简介 驱动由数据库厂商提供,找起来很麻烦~有没有通用的

呢?

微软公司的 Windows 中,预

先设计了一个ODBC(Open Database Connectivity,开放数 据库互连)功能,由于 ODBC 是 微软公司的产品,因此它几乎 可以连接到所有在 Windows 平 台下运行的数据库,由它连接 到特定的数据库,不需要具体 的驱动。而 JDBC 就只需要连 接到 ODBC 就可以了6

JDBC-ODBC桥连接

jsp访问数据库ppt

建立ODBC数据源 ODBC怎么知道自己连接的是什么数

据库呢?

通过建立ODBC数据源,告诉ODBC其

连接数据库是什么, ODBC 支持连接 到各种数据库。如 Oracle、MySQL、 MSSQLServer 等

jsp访问数据库ppt

建立ODBC数据库 操作如下: 首先在控制面板中选择“管理工具”,双击“数据

源(ODBC)图标”

在"ODBC 数据源管理器"的

"系统 DSN"选项卡中单击 "添加"按钮

jsp访问数据库ppt

建立 ODBC 数据源 操作如下: 从弹出的"创建新数据源"窗口的数据源名称列表中选择

"Microsoft Acces Driver(*.mdb)" 并单击"完成"按钮

jsp访问数据库ppt

建立 ODBC 数据源 操作如下: 在弹出的"ODBC Microsoft Access 安装"窗口的"数据源名"

文本框输入自定义的数据源名称,然后点击"选择"按钮, 选择 Access 数据库所在的目录,得到的结果如图

1

jsp访问数据库ppt

JDBC操作 JDBC 的操作分为 4 个步骤: 通过 JDBC 连接到 ODBC,并获取连接对象 import java.sql.Connection; import java.sql.DriverManager; …… …… Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection(“jdbc:odbc:DSSchool”); //DriverManager.getConnection(“URL”,”用户名”,”密码”)

注意,ACCESS2010以后的conn写法有变化 Connection conn =

DriverManager.getConnection("jdbc:odbc:DRIVER={Microsof t A

ccess Driver (*.mdb, *.accdb)};DBQ=C:\\School.mdb");

1

jsp访问数据库ppt

JDBC操作 使用 Statement 接口运行 SQL 语句 import java.sql.Statement; …… Statement stat = conn.createStatement(); stat.executeQuery(SQL 语句);//查询 或者 stat.executeUpdate(SQL 语句);//添加、删除或修改

1

jsp访问数据库ppt

JDBC操作 处理 SQL 语句运行结果,这和具体的操作有关,后面详

述 关闭数据库连接: stat.close(); conn.close();

1

jsp访问数据库ppt

添加数据 对数据库SCHOOL中的表T_STUDENT进行数据

添加

0032、冯江、男

int i = stat.executeUpdate(sql);

它返回一个整型,意思为这条 sql 语句执行受影 响的行数,即成功添加的条数

1

jsp访问数据库ppt

删除、修改数据 删除表T_STUDENT中学号为0032的记录

修改表T_STUDENT中,学号为0007的学生的性别,

更改为“女”

1

jsp访问数据库ppt

查询数据 查询所有女生的学号和姓名

查询格式:ResultSet rs = stat.executeQuery(sql); 查询到的结果放入 ResultSet (rs)中,实际上是一个小表格

怎么才能访问这个小表格呢? 游标

1

jsp访问数据库ppt

查询数据 游标 在 ResultSet 中一个可以移动的指针,它指向一行数据。 初始时指向第一行的前一行,实际上不指向任何数据。 rs.next()可以将游标移到下一行,它的返回值是一个布尔 类型,即如果下一行有数据则返回为 true,否则为 flase。 很明显,可以使用 rs.next()配上 while 循环来对结果进行 遍历

1

jsp访问数据库ppt

查询数据 游标 当游标指向某一行,可以通过 ResultSet 的 getXXX("列名") 方法得到这一行的某个数据,XXX 是该列的数据类型,可 以是 String,也可以是 int 等,但是所有类型的数据都可以 用 getString()方法获得。除了通过列名获得数据外,还可以 通过列的编号来获得 String stuno= rs.getString(“STUNO”); String stuno= rs.getString(1);

1

jsp访问数据库ppt

查询数据 关于游标的注意 游标的初始值并不是指向第 1 行数据,而是指向第 1 行

的前面那条数据。所以必须要运行一次 next()函数之后, 才能从开始取数据,如果强行取则会找不到该列而报错

从某一行中通过 getXXX()方法取数据每一列只能取一次,

超过一次,程序将会报错,如果需要重复使用某列数据, 可以先定义一个变量,将取出的数据赋予它,再重复使 用

1

jsp访问数据库ppt

PreparedStatement 数据库中的新增数据由用户指定的时候,如何处理? 例如,由用户指定学号、姓名、性别 解决方法:用三个变量,分别表示!

String sql = "INSERT INTO

T_STUDENT(STUNO,STUNAME,STUSEX) VALUES('" +stuno+"','"+stuname + "','"+stusex+"')"; 容易出错了 JSP提供了一个PreparedStatement接口来简化流程2

jsp访问数据库ppt

PreparedStatement PreparedStatement 是 Statement 的子接口,功能与

Statement 类似 它在 sql 语句中使用了?代替了需要插

入的参数 用 PreperedStatement 的 setString(n,参数)方法可以将第 n

个?用传进的参数代替。这样做增加了程序的可维护性, 也增加了程序的安全性

2

本文来源:https://www.bwwdw.com/article/4oa1.html

Top