《JSP与数据库》PPT课件.ppt

上传人:sh****n 文档编号:6611632 上传时间:2020-02-29 格式:PPT 页数:56 大小:260.05KB
返回 下载 相关 举报
《JSP与数据库》PPT课件.ppt_第1页
第1页 / 共56页
《JSP与数据库》PPT课件.ppt_第2页
第2页 / 共56页
《JSP与数据库》PPT课件.ppt_第3页
第3页 / 共56页
点击查看更多>>
资源描述
JSP与数据库 1SQL语言简介2JDBC简介3使用JDBC连接数据库4访问数据库5数据库访问应用举例 1SQL语言简介 在JSP中最常用到的SQL语句如下 1 Select语句 查询数据 2 Insert语句 添加记录 3 Delete语句 删除记录 4 Update语句 更新记录 注意 SQL语句不区分大小写 1 1Select语句SQL语言的主要功能之一是实现数据库查询 其Select语句可以从数据库中查询满足特定条件的有关记录 Select语句的语法如下 Select Top 数据 字段列表From表 Where条件 OrderBy字段 GroupBy字段 Top 数据 字段列表 表 条件 OrderBy GroupBy 下列举一些常见的例子说明 1 选取全部数据Select Fromusers 2 选取指定字段的数据如果只想选取列表中某些字段的数据 在Select后面指定字段名 可以指定多个列 但每个列之间必须用逗号隔开 Selectreal name emailFromusers 3 只选取前若干条记录比如选取前3条记录 SelectTop 3 Fromusers 4 用表中原有的字段产生派生字段有时候为了需要 可以利用一列或若干列产生一个新的字段 例如 从存放用户信息的数据库表中 可以显示客户注册一年后的日期 Selectreal name submit date 365 Asnew dateFromusers 5 根据条件选取数据比如选取2003年11月1日之前注册的用户 Select FromusersWheresubmit date 2003 11 1 表1条件连接符 6 按关键字查找记录有时候查找条件可能不太精确 比如 要查询所有姓名中有 勇 字的用户 Select FromusersWherereal namelike 勇 7 查询结果排序表中数据时 特别是表中数据较多时 总是希望表中的数据能够按照我们要求的顺序显现出来 利用OrderBy就可以实现 例如 将查询结果按姓名升序排列 Select FromusersOrderByreal nameASC 8 查询满足条件的记录的总数SelectCount AstotalFromusersWheresubmit date 2003 11 1 9 组合查询Selectusers real name day log log date day log IPFromusers day logWhereusers user name day log user name 在选取各个表的字段时 要标明是哪个表的字段 用到的两个表之间用逗号隔开 在两个表连接时 用到users user name pday log user name条件 表示根据两个表中的user name字段将两个表合成一个表 这只是最简单的组合查询 还有左连接 右连接等 请参考专门的SQL参考书籍 10 利用GroupBy分类合并假如有一个学生成绩表usergrade 字段有user name 学号 和grade 学分 和class 班级 现在要求每个班级的总分和平均分 SelectSum grade Astotal grade Average grade Asaverage gradeFromusergradeGroupByclass 1 2Insert语句InsertInto表 字段1 字段2 Values 字段1的值 字段2的值 下面举一些常见的例子说明 1 只插入user name字段InsertIntousers user name Values liya 2 只插入user name和real name字段InsertIntousers user name real name Values zhangsan 张三 3 只插入user name和submit date字段InsertIntousers user name submit date Values luofang 2003 12 5 4 只插入user name和age字段InsertIntousers user name age Values zhangpen 23 5 在users表中增加一条完整的记录InsertIntousers user name password real name tel email submit date Values mengmeng 123456 萌萌 mengmeng 2003 11 2 下面举几条经常出错的Insert语句 1 user name是主键 但没有赋值InsertIntousers real name Values 涂涂 2 real name字段不允许空字符串 却赋了空字符串 两个双引号表示空字符串 InsertIntousers user name real name Values tutu 3 字符串字段两边没有加双引号InsertIntousers user name real name Values tutu 涂涂 1 3Delete在SQL语言中 可以使用Delete语句删除表中无用的记录 其语法如下 DeleteFrom表 Where条件 下面举一些常用的例子 1 删除user name为 tutu 的用户 DeleteFromuserswhereuser name tutu 2 删除2003年1月1日前注册 且real name为 李亚 的用户 DeleteFromuserswherereal name 李亚 andsubmit date 2003 01 01 3 删除表中所有数据DeleteFromusers或Delete Fromusers 1 4Update语句在SQL语言中 可以使用Update语句可以修改表中的数据 其语法如下 Update数据表名Set字段1 字段值1 字段2 字段值2 Where条件 下面举一些常用的例子 1 修改user name为 jjshang 的用户的电话和E mail地址 Updateuserssetemail tel whereuser name jjshang 2 将所有2003年1月1日前注册的用户的注册日期统一更改为2003年1月1日 Updateuserssetsubmit date 2003 01 01 wheresubmit date 2003 01 01 3 若有年龄字段age 将所有人的年龄增加10岁 Updateuserssetage age 10 2JDBC简介 JDBC JavaDataBaseConnectivity 中文意为Java数据库连接 是在Java中用面向对象的方法来连接数据库的技术 2 1什么是JDBCJDBC是一种用于执行SQL语句的JavaAPI 它由一组用Java语言编写的类和接口组成 这组API为Java提供了统一的数据访问方法 通过使用JDBC 在程序中实现向各种关系数据库发送SQL语句已经变成一个很容易的过程了 1 JDBC的主要类包 1 java sql JDBC核心API 包 它包含了JDBC中的大部分类和接口 使用它已经可以完成一般情况下的大部分操作 2 javax sql JDBC可选API 包 提供在Java中对服务器端数据源进行访问和处理的API 其主要功能有 建立数据源连接时以DataSource接口代替DriverManager 连接池 分布式事务处理 行记录集 2 JDBC可访问的数据源 1 关系型数据库 如 Oracle DB2 SQLServer MySQL Access等 2 电子数据表格 如 Excel等 3 平面数据文件 如 DBase Foxpro Paradox等 3 JDBC的4种驱动程序 1 JDBC ODBC桥和ODBC驱动程序 如果在程序所使用的网络里安装客户端不是个大问题 或者三层结构的应用服务器代码由Java编写 那么使用这种驱动程序就很合适 JDBC ODBC驱动程序的java sql Drive接口在sun jdbc odbc JdbcOdbcDriver中实现 且在JAVA HOME BIN目录下有JdbcOdbc dll文件支持 2 本地API部分Java驱动程序 这种驱动程序把JDBC调用转换成对客户端Oracle Sybase Informix等数据库管理系统API的调用 3 JDBC网络的纯Java驱动程序 这种驱动程序把JDBC调用解释为与数据库管理系统独立的网络协议 这种网络协议再被服务器解释成数据库管理系统的协议 这个中间件网络服务器可以把纯Java客户端与多个不同的数据库连接起来 这是灵活的JDBC可选方案 4 本机协议纯Java驱动程序 这种驱动程序直接把JDBC调用转换成数据库管理系统使用的网络协议 它容许从客户端机器上直接调用数据库管理系统服务器 这是内部绝佳的解决方案 2 2使用JDBC访问数据库的方法1 JDBC实现对数据库访问与操作的步骤 1 建立与数据源的连接 2 发送查询 更新等SQL语句到数据源 3 处理由SQL语句得到的结果 2 JDBC访问数据库的简单例子 Class forName sun jdbc odbc JdbcOdbcDriver Stringurl jdbc odbc zxy Connectionconn conn DriverManager getConnection url Statementstmt conn createStatement ResultSetrs stmt executeQuery select fromstudent while rs next out println rs getString name 2 3JDBC支持的数据访问模式1 两层模型2 三层模型 图1两层数据访问模型图 图2三层数据访问模型 3使用JDBC连接数据库 3 1JDBC连接数据库的方法1 Java程序连接数据库的4种方法Java程序连接数据库的方法实际上有下面4种 1 JDBC ODBC桥和ODBC驱动程序 2 本机代码和Java驱动程序 3 JDBC网络的纯Java驱动程序 4 本机协议纯Java驱动程序 2 连接数据库4种方法的性质 表2JDBC连接数据库的4种方法 3 2建立数据库连接1 建立连接的基本步骤 1 加载要使用的数据库驱动程序类 该工作由Class类的静态方法forName完成 它加载相应的驱动程序类 并创建该类的一个实例 如要加载JDBC ODBC桥驱动类采用如下语句 Class forName sun jdbc odbc JdbcOdbcDriver 2 声明一个Connection接口的对象 如 Connectionconn 3 并使用DriverManager类的静态方法getConnection建立数据库连接 该方法主要有两种重载形式 ConnectiongetConnection Stringurl ConnectiongetConnection Stringurl Stringuser Stringpassword 2 JDBCURL字符串应用程序使用DriverManager建立连接之前 必须要提供给DriverManage getConnection函数一个参数 这个参数就是JDBCURL 一般意义上的URL是用来定位Internet上的资源的 JDBCURL提供了一个识别数据源的方法 靠URL驱动程序就可以找到数据源并实现连接 JDBCURL是由设计驱动程序的人员命名和指定的 用户不必考虑怎么构建一个URL而只需要使用驱动程序相应的URL就可以了 标准的JDBCURL语法有3部分 jdbc 其中是子协议的名称 如odbc 这个名字说明数据源是个odbc类型的数据源 是用来标识数据源的 根据子协议的不同 subname可以差别很大 但不管使用什么 subname都必须给出足够详细的信息以便连接到数据库 JDBCURL的subname部分的标准格式如下 hostname port subname 3 3使用JDBC ODBC桥连接数据库1 使用JDBC ODBC桥建立 数据源名称 的步骤 1 打开Windows的控制面板 选择 ODBC 设置程序 2 打开该程序后 选择 系统DSN 选项卡建立系统的ODBC数据源 3 单击 添加 按钮添加新的系统DSN 4 在对话框中选择适当的ODBC驱动程序 此处选择MicrosoftAccessDriver MDB 然后按 完成 按钮 5 设置 数据源名 并按 选择 按钮选择特定的数据库 6 单击 确定 按钮完成ODBCDSN的建立 2 编写JDBC ODBC桥连接数据库的代码Class forName sun jdbc odbc JdbcOdbcDriver Stringurl jdbc odbc zxy Connectionconn conn DriverManager getConnection url 3 4使用JDBC桥直接连接数据库下面是用JDBC连接SQLServer7 0的程序代码Class forName com microsoft jdbc sqlserver SQLServerDriver newInstance Stringurl jdbc microsoft sqlserver localhost 1433 DatabaseName zxy Stringuser zxy Stringpassword 666666 Connectionconn DriverManager getConnection url user password 3 5关闭与数据库的连接conn close 4访问数据库 java sql包中与数据库操作有关的接口主要有以下几个 1 Connection 2 Statement 3 PreparedStatement 4 CallableStatement 5 ResultSet 4 1使用SQL语句对数据库进行操作1 查询操作2 获取结果集的字段 表3Result接口获取字段的get方法 3 记录的插入 删除和更新操作4 使用带参数的SQL语句 1 set方法组 2 clearParameters 方法 3 executeQuery 方法 4 executeUpdate 方法 4 2使用ResultSet对象对数据库进行操作1 结果集的游标操作 1 使用get或update方法组对当前记录的字段进行操作 2 使用insertRow deleteRow和updateRow等方法对整条记录进行操作 3 以当前记录为起点进行游标的相对移动操作 表4ResultSet的游标操作 2 结果集的类型StatementcreateStatement intresultSetType intresultSetConcurrency 1 resultSetType定义了结果集的类型 2 resultSetConcurrency决定结果集的更新方式 3 使用结果集对表进行操作 1 更新操作 update方法组 updateRow 方法 cancelRowUpdates 方法 2 插入操作 使用moveToInsertRow 方法将游标移动到插入行 使用update方法组对插入行的字段进行赋值 使用insertRow 方法向数据库的表提交插入操作 3 删除操作 9 4 3数据库的高级操作1 批量操作实现批量操作需要使用Statement对象的下面3个方法 1 voidaddBatch Stringsql 向Statement对象添加SQL语句 2 int executeBatch 向数据库提交Statement对象中的SQL语句 SQL语句的执行情况以整型数组返回 数组元素的顺序与SQL语句的顺序一致 3 voidclearBatch 清空Statement对象的SQL语句列表 2 事务处理 1 setAutoCommit Boolean 2 commit 3 rollback 3 调用数据库的存储过程JDBC的CallableStatement对象提供了调用关系数据库的存储过程的标准方法 CallableStatement对象使用call命令调用存储过程 call命令的语法形式如下 其中的问号代表存储过程的参数 callstoredProcedure name 创建CallableStatement对象使用Connection对象的prepareCall方法 下面的语句创建了一个CallableStatement对象 CallableStatementcst cst conn prepareCall callgetTestData 存储过程的参数有3种 输入参数 输出参数和输入输出参数 每种参数的作用不同 使用的方法也有所不同 1 输入参数 用于在调用存储过程时向存储过程传入数据 2 输出参数 用于返回存储过程执行后的结果 3 输入输出参数 同时具有输入参数和输出参数的功能 5数据库访问应用举例 5 1JavaApplet访问数据库应用5 2JavaApplication访问数据库应用实例
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!