北大青鸟JSP教程大全(中).ppt
《北大青鸟JSP教程大全(中).ppt》由会员分享,可在线阅读,更多相关《北大青鸟JSP教程大全(中).ppt(65页珍藏版)》请在三一办公上搜索。
1、JDBC程序的工作模板,try Class.forName(JDBC驱动类);catch(ClassNotFoundException e)(无法找到驱动类);try Connection con=DriverManager.getConnection(JDBC URL,数据库用户名,密码);Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(SELECT a,b,c FROM Table1);while(rs.next()int x=rs.getInt(a);String s=rs.getString(b);
2、float f=rs.getFloat(c);con.close();catch(SQLException e)e.printStackTrace();,获得数据库连接,发送Sql语句,处理结果,注册JDBC驱动,JDBC URL用来标识数据库,必须处理的异常,释放资源,必须处理的异常,JDBC驱动 5-1,JDBC驱动由数据库厂商提供在个人开发与测试中,可以使用JDBC-ODBC桥连方式在生产型开发中,推荐使用纯Java驱动方式,DB Server,DBServer,JDBC API,JDBC Driver Manager,纯Java 驱动,JDBCODBC桥,Java 应用程序,ODBC,
3、JDBC驱动 5-2,桥连将对JDBC API的调用,转换为对另一组数据库连接API的调用优点:可以访问所有ODBC可以访问的数据库缺点:执行效率低、功能不够强大,JDBC-ODBC桥,Java 应用程序,JDBC API,ODBC API,ODBC层,DBServer,JDBC驱动 5-3,使用JDBC-ODBC进行桥连1、在控制面板ODBC数据源系统DSN中配置数据源2、编程,通过桥连方式与数据库建立连接,-语法-Class.forName();Connection con=DriverManager.getConnection(jdbc:odbc:news,sa,sa);,JDBC-OD
4、BC桥驱动类的完全限定类名,数据源名称,演示:配置ODBC数据源,JDBC驱动 5-4,纯Java驱动由JDBC驱动直接访问数据库优点:100%Java,快又可跨平台缺点:访问不同的数据库需要下载专用的JDBC驱动,JDBC 驱动,Java 应用程序,JDBC API,DBServer,JDBC驱动 5-5,使用纯Java驱动方式进行直连1、下载数据库厂商提供的驱动程序包2、将驱动程序包引入工程中3、编程,通过纯Java驱动方式与数据库建立连接,-语法-String URL=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=news;C
5、lass.forName();Connection con=DriverManager.getConnection(URL,sa,sa);,sql server数据库驱动类的完全限定类名,演示:在工程中引入JDBC驱动程序包,数据库名称,小结 1,JDBC桥连与纯Java驱动两种方式的优缺点分别是什么?JDBC URL的作用是什么?,创建数据表:FirstLevelTitle,JDBC应用,要求对新闻标题进行管理:1、新闻标题存储在Sql Server 2000中2、通过JDBC对新闻标题进行增、删、改、查操作,操作步骤,使用Statement插入数据,使用PreparedStatement增
6、、删、改、查数据,1,2,使用Statement插入数据 2-1,使用桥连方式向FirstLevelTitle表中插入一条记录,代码片断public static void main(String args)Connection con=null;Statement statement=null;try String strSql=insert into FirstLevelTitle values(1,军事,网管,getdate();try);catch(ClassNotFoundException e)System.out.println(无法找到驱动类);con=DriverManage
7、r.getConnection(jdbc:odbc:news,sa,sa);statement=con.createStatement();statement.executeUpdate(strSql);catch(SQLException sqlE)sqlE.printStackTrace();finally closeStatement(statement);closeConnection(con);,建立连接,执行sql语句,数据库连接使用完毕,及时释放,载入JDBC-ODBC桥驱动类,异常处理,异常处理,完整代码实现,使用Statement插入数据 2-2,使用纯Java驱动方式向Fi
8、rstLevelTitle表中 插入一条记录,代码片断public static void main(String args)Connection con=null;Statement statement=null;try String strSql=insert into FirstLevelTitle values(1,军事,网管,getdate();try);catch(ClassNotFoundException e)System.out.println(无法找到驱动类);con=DriverManager.getConnection(jdbc:microsoft:sqlserver:
9、/localhost:1433;+DatabaseName=news,sa,sa);statement=con.createStatement();statement.executeUpdate(strSql);catch(SQLException sqlE)sqlE.printStackTrace();finally/释放连接,载入sql server数据库驱动类,建立连接,执行sql语句,完整代码实现,小结 2,在使用纯Java驱动方式进行数据库连接时,如果程序在运行时抛出异常::No suitable driver found for jdbc:microsoft:sqlserver:/
10、localhost:1433;DatabaseName=news 那么出错的原因是什么?如何解决?请单独建立一个类ConnectionManager,专门负责建立数据库连接、以及关闭连接,并思考这样做带来的好处是什么,找不到合适的驱动类,原因:没有把数据库驱动包引入工程,好处在于:既便于管理、又可以提高代码的复用性,完整代码实现,PreparedStatement,PreparedStatement接口(预编译的 SQL 语句),Statement 接口,当SQL语句将运行多次时,尽量使用PreparedStatement,以便提高运行效率,PreparedStatement 接口继承 Sta
11、tement接口PreparedStatement比普通的Statement对象使用起来更加灵活,更有效率,使用PreparedStatement插入数据,public class NewsFirstTitleDB2 public static void main(String args)Connection con=null;PreparedStatement pStatement=null;try SimpleDateFormat hmFromat=new SimpleDateFormat(yyyy-MM-dd hh:mm:ss);con=ConnectionManager.getConn
12、ection();String strSql=insert into FirstLevelTitle values(?,?,?,?);pStatement=con.prepareStatement(strSql);pStatement.setInt(1,1);pStatement.setString(2,军事);pStatement.setString(3,管理员);pStatement.setString(4,hmFromat.format(new Date();pStatement.executeUpdate();catch(SQLException sqlE)sqlE.printStac
13、kTrace();finally ConnectionManager.closeStatement(pStatement);ConnectionManager.closeConnection(con);,参数化的查询语句,设置每个?参数的值,列号从1开始,执行sql语句,使用PreparedStatement删除数据,public class NewsFirstTitleDB3 public static void main(String args)Connection con=null;PreparedStatement pStatement=null;try con=ConnectionM
14、anager.getConnection();String strSql=delete from FirstLevelTitle where TitleName=?;pStatement=con.prepareStatement(strSql);pStatement.setString(1,军事);int row=pStatement.executeUpdate();(“成功删除了+row+行数据!);catch(SQLException sqlE)sqlE.printStackTrace();finally ConnectionManager.closeStatement(pStatemen
15、t);ConnectionManager.closeConnection(con);,返回删除记录的行数,使用PreparedStatement更新数据,public class NewsFirstTitleDB4 public static void main(String args)Connection con=null;PreparedStatement pStatement=null;try con=ConnectionManager.getConnection();String strSql=update FirstLevelTitle set Creator=?where Id=?
16、;pStatement=con.prepareStatement(strSql);pStatement.setString(1,编辑);pStatement.setInt(2,1);int row=pStatement.executeUpdate();(成功更新了+row+行数据!);catch(SQLException sqlE)sqlE.printStackTrace();finally ConnectionManager.closeStatement(pStatement);ConnectionManager.closeConnection(con);,返回更新记录的行数,小结 3,使用
17、PreparedStatement语句执行如下操作:删除表FirstLevelTitle中所有Id小于10的记录,并在控制台输出删除记录的行数,完整代码实现,使用PreparedStatement查询数据 2-1,public class NewsFirstTitleDB5 public static void main(String args)int id=0;Connection con=null;PreparedStatement pstmt=null;ResultSet resSet=null;try con=ConnectionManager.getConnection();Stri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北大 青鸟 JSP 教程 大全
链接地址:https://www.31ppt.com/p-6102833.html