《Java Web应用开发》课件ch06.ppt
《《Java Web应用开发》课件ch06.ppt》由会员分享,可在线阅读,更多相关《《Java Web应用开发》课件ch06.ppt(30页珍藏版)》请在三一文库上搜索。
1、第第6章章 JDBC目标l了解了解JDBC体系结构体系结构l通过通过JDBC-ODBC桥驱动程序连接数据库桥驱动程序连接数据库l检索和浏览数据库中的数据检索和浏览数据库中的数据l实现对数据的更新实现对数据的更新l使用预编译语句操作数据库使用预编译语句操作数据库JDBC简介简介lJDBC(Java DataBase Connectivity)是是Java数据库连接的简称数据库连接的简称;l由一组用由一组用Java语言编写的类和接口组成,语言编写的类和接口组成,位于位于java.sql包中包中;l提供了一种标准的应用程序设计接口提供了一种标准的应用程序设计接口(API)。)。JDBC简介简介 Ja
2、va 程序程序 JDBC 驱动程序驱动程序数据库数据库SQL 命令命令 结果结果 SQL包包接口名接口名 说明说明 DriverManager此类用于加载和卸载各种驱动程序并此类用于加载和卸载各种驱动程序并建立与数据库的连接建立与数据库的连接Connection此接口表示与数据的连接此接口表示与数据的连接Statement此接口用于执行此接口用于执行 SQL 语句并将数据语句并将数据检索到检索到 ResultSet 中中 PreparedStatement 此接口用于执行预编译的此接口用于执行预编译的 SQL 语句语句 ResultSet此接口表示了查询出来的数据库数据此接口表示了查询出来的数
3、据库数据结果集结果集SQL包包开开 始始 导入导入 java.sql包包 加载并注册驱动程序加载并注册驱动程序 创建创建 Connection 对象对象 创建创建PreparedStatement 对象对象 执行语句执行语句 关闭关闭ResultSet 对象对象 关闭关闭Statement对象对象 关闭连接关闭连接 结束结束 使用使用ResultSet对象对象 Import java.sql.*;Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);Connection con =DriverManager.getConnection(“jdbc:odbc
4、:数据源数据源”);PreparedStatement psmt=con.prepareStatement(sql);ResultSet rs=psmt.executeQuery();int num=psmt.executeUpdate();rs.close();psmt.close();con.close();连接数据库连接数据库l在在SQL Server中创建数据库和数据表中创建数据库和数据表l“管理工具管理工具”-”数据源数据源(ODBC)”,配置数配置数据源据源 import java.sql.*;Connection conn=null;try Class.forName(“sun.
5、jdbc.odbc.JdbcOdbcDriver”);String url=“jdbc:odbc:study”;conn=DriverManager.getConnection(url,“sa”,“sa”);System.out.println(数据库连接成功数据库连接成功);catch(SQLException ex1)ex1.printStackTrace();finally try if(conn!=null)conn.close();catch(SQLException ex2)ex2.printStackTrace();com.microsoft.jdbc.sqlserver.SQL
6、ServerDriverjdbc:microsoft:sqlserver:/localhost:1433;DataBaseName=bbs 检索数据库检索数据库(1)select 员工编号员工编号员工姓名员工姓名员工职务员工职务 所属部门所属部门基本工资基本工资 检索数据库检索数据库(2)读取字段名读取字段名ResultSetMetaData rsmd=rs.getMetaData();int numberOfColumn=rsmd.getColumnCount();%for(int i=1;i=cols;i+)out.print(“+rsmd.getColumnLabel(i)+“”);%f
7、or(int i=1;i 检索数据库检索数据库(3)可滚动的数据集可滚动的数据集%stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);String sql=select*from 员工档案员工档案;rs=stmt.executeQuery(sql);if(request.getParameter(row)!=null)String row=request.getParameter(row);if(row.equals(first)rs.first();else if(row.
8、equals(last)rs.last();else if(Integer.parseInt(row)首记录首记录a href=ScrollQuery.jsp?row=上一条上一条a href=ScrollQuery.jsp?row=下一条下一条尾记录尾记录更新数据库更新数据库 executeUpdate()Connection conn=null;PreparedStatement psmt=null;ResultSet rs=null;try conn=DriverManager.getConnection(url,user,password);String sql=insert into
9、 员工档案员工档案 values(?,?,?,?,?);psmt=conn.prepareStatement(sql);psmt.setString(1,“11”);psmt.setString(2,“jake”);psmt.setString(3,“manager”);psmt.setString(4,“研发部研发部”);psmt.setString(5,“2000”);int num=psmt.executeUpdate();使用事务使用事务l在数据库系统中,可以把一系列对数据源在数据库系统中,可以把一系列对数据源的操作作为一个整体来对待,这个整体称的操作作为一个整体来对待,这个整体称为一
10、次事务。为一次事务。l事务开始后,如果事务中的所有操作都能事务开始后,如果事务中的所有操作都能正确执行,则将这些操作全部施加到数据正确执行,则将这些操作全部施加到数据库上;否则,就取消所有的操作,这时,库上;否则,就取消所有的操作,这时,数据库中的数据和执行事务前的数据是一数据库中的数据和执行事务前的数据是一样的。样的。使用事务使用事务conn=DriverManager.getConnection(url,user,password);conn.setAutoCommit(false);/关闭自动提交模式关闭自动提交模式String sql=insert into 员工档案员工档案 valu
11、es(?,?,?,?,?);psmt=conn.prepareStatement(sql);psmt.setString(1,20);psmt.setString(2,段金锁段金锁);psmt.setString(3,经理助理经理助理);psmt.setString(4,研发部研发部);psmt.setString(5,2000);psmt.executeUpdate();psmt=conn.prepareStatement(update 员工档案员工档案 set 基本工资基本工资=3800 where 员工姓名员工姓名=jake);psmt.executeUpdate();mit();/正常
12、则提交事务,出现异常则回滚正常则提交事务,出现异常则回滚conn.rollback()conn.setAutoCommit(true);思考思考l在查询或更新数据库的每一次操作中,都在查询或更新数据库的每一次操作中,都要在连接和关闭数据库的语句中重复部分要在连接和关闭数据库的语句中重复部分代码,合适吗?代码,合适吗?import java.sql.*;try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);String url=“jdbc:odbc:study”;Connection conn=DriverManager.getConnection(
13、url,“sa”,“sa”);catch(ClassNotFoundException ex1)System.out.println(ex1.getMessage);catch(SQLException ex2)System.out.println(ex2.getMessage);finally try if(conn!=null)conn.close();catch(SQLException ex)out.println(ex.getMessage);数据库连接重用数据库连接重用 JSP页面1底层类(可重用)JSP页面2BaseDao 数据访问层工具类数据访问层工具类/BaseDao.jav
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java Web应用开发 Java Web应用开发课件ch06 Java Web 应用 开发 课件 ch06
![提示](https://www.31doc.com/images/bang_tan.gif)
链接地址:https://www.31doc.com/p-21713044.html