《应用数据库》PPT课件.ppt
《《应用数据库》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《应用数据库》PPT课件.ppt(43页珍藏版)》请在三一办公上搜索。
1、第9章数据库的使用,WEB系统开发与设计,2,教学目的,了解JDBC驱动程序的4种类型掌握MySQL数据库的安装掌握MySQL-Front的安装和使用掌握JDBC操作数据库的三个主要步骤,WEB系统开发与设计,3,主要内容,1、数据库使用的完整过程2、数据库的增删改查实例3、连接池技术,WEB系统开发与设计,4,1、数据库使用的完整过程,1.1 连接和访问数据库1.2 处理结果集1.3 关闭对象1.4 异常处理,WEB系统开发与设计,5,1.1 连接和访问数据库,引入java.sql包加载驱动程序建立到数据库的连接访问数据库,WEB系统开发与设计,6,1.2 处理结果集,(1)插入、删除或者更
2、新执行完即可(2)查询要处理查询结果,String username=“张三”;Statement stmt=con.createStatement();String sql=“select*from user where username=”+username+”;ResultSet rs=stmt.executeQuery(sql);,user,查询结果,对行遍历,使用结果集的next()方法获取某列,用get方法。,WEB系统开发与设计,7,next()方法的应用1、判断有没有结果集2、向下移动游标,以备获取某记录中某列的值,String sql=select*from user whe
3、re username=+username+and userpass=+userpass+;rs=stmt.executeQuery(sql);if(rs.next()HttpSession session=request.getSession();session.setAttribute(username,username);else,while(rs.next()out.println(“用户名:”+rs.getString(2);,WEB系统开发与设计,8,get方法getInt(int columnIndex)获取整数字段的值getInt(String columnName)getSt
4、ring(int columnIndex)获取字符串字段的值getString(String columnName)getDouble(int columnIndex)getDouble(String columnName),String user=rs.getString(2);String user=rs.getString(“username”);,WEB系统开发与设计,9,1.3 关闭对象,为了避免资源浪费,要及时关闭创建的对象。关闭连接:conn.close();关闭语句:stmt.close();关闭结果集:rs.close();注意:关闭的顺序要和创建对象的顺序相反。若操作过程中
5、无结果集,则不需关闭。,WEB系统开发与设计,10,1.4 异常处理,在对数据库处理过程中可能会发生各种异常,所以要对这些异常进行处理。一般使用如下的处理框架:,/异常处理框架try/要执行的可能出错的代码catch(Exception e)/出错后的代码处理finally/不管是否出错都要执行的代码,WEB系统开发与设计,11,实例,1、输出查询结果,WEB系统开发与设计,12,2、数据库的增删改查实例,(1)Statement对象和PreparedStatement对象(2)数据的更新,WEB系统开发与设计,13,(1)Statement对象和PreparedStatement对象,在数据
6、库连接建立后,需要对数据库进行访问,执行SQL语句。为此java.sql包提供了3个接口,分别定义了对数据库的不同调用方式StatementPreparedStatementCallableStatement,WEB系统开发与设计,14,Statement,功能:执行静态的SQL语句,返回执行结果创建方法:利用在Conncetion接口中定义的createStatement()方法来创建Statement对象。Statement createStatement()throws SQLExceptionStatement接口中定义了若干方法用来执行SQL语句执行指定的SQL语句,返回一个Resu
7、ltSet对象:ResultSet executeQuery(String sql)throws SQLException执行更新语句int executeUpdate(String sql)throws SQLException,Connection conn=DriverManager.getConnection(url,user,password);Statement stmt=conn.createStatement();,Connection conn=DriverManager.getConnection(url,user,password);String username=“张三
8、”;Statement stmt=conn.createStatement();String sql=“select*from user where username=”+username+”;ResultSet rs=stmt.executeQuery(sql);sql=“insert into user(username,userpass)values(zhangsan,111)”;stmt.executeUpdate(sql);,WEB系统开发与设计,15,PreparedStatement,功能:使用不同的参数来多次执行同一个SQL语句时可以提高效率。创建方法:利用在Conncetio
9、n接口中定义的prepareStatement()方法来得到PreparedStatement对象。PreparedStatement prepareStatement()throws SQLException,Connection conn=DriverManager.getConnection(url,user,password);String sql=“insert user values(?,?,?)”;PreparedStatement pstmt=conn.prepareStatement(sql);pstmt.setInt(1,1);pstmt.setString(2,”zhan
10、gsan”);pstmt.setString(3,”123456”);pstmt.executeUpdate();pstmt.setInt(1,2);pstmt.setString(2,”王五”);pstmt.setString(3,”abcd”);pstmt.executeUpdate();,WEB系统开发与设计,16,CallableStatement(了解),功能:用于执行SQL的存储过程。是从PreparedStatement接口继承而来。创建方法:通过Connection对象的prepareCall()方法得到CallableStatement对象。注意:存储过程直接保存在数据库端,
11、因此效率大大提高。但是不同数据库厂商提供的数据库产品采用的存储过程语法有差异,所以可移植性降低。MySQL5.0之前的版本不支持存储过程。,WEB系统开发与设计,17,(2)数据的更新,添加insert语句修改(更新)update语句删除-delete语句,WEB系统开发与设计,18,添加insert语句,语法:insert into table_name(column_list)values(data_values)应用Statement对象向数据表中添加数据的关键代码:Statement stmt=conn.cteateStatement();int rtn=stmt.executeUpd
12、ate(“insert into tb_user(name,pwd)values(hope,111)”);sql=insert into user(username,userpass,gender,birthdate,nativeplace)values(+vb.getUsername()+,+vb.getUserpass()+,+vb.getGender()+,+vb.getBirthdate()+,+vb.getNativeplace()+);Int rnt=stmt.executeUpdate(sql);,WEB系统开发与设计,19,添加语句,往往语句较长,涉及的变量较多,可以利用Str
13、ingBuffer对象来编写动态的添加语句。,StringBuffer newsql=new StringBuffer();newsql.append(insert into user(username,userpass,gender,birthdate,nativeplace)values();newsql.append(vb.getUsername();newsql.append(,);newsql.append(vb.getUserpass();newsql.append(,);newsql.append(vb.getGender();newsql.append(,);newsql.ap
14、pend(vb.getBirthdate();newsql.append(,);newsql.append(vb.getNativeplace();newsql.append();stmt.executeUpdate(newsql.toString();,WEB系统开发与设计,20,添加insert语句,利用PreparedStatement对象向数据表中添加数据的代码:PreparedStatement pStmt=conn.prepareStatement(“insert into tb_user(name,pwd)values(?,?)”);pStmt.setString(1,”drea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用数据库 应用 数据库 PPT 课件
链接地址:https://www.31ppt.com/p-5505676.html