第6章JSP中使用数据库_第1页
第6章JSP中使用数据库_第2页
第6章JSP中使用数据库_第3页
第6章JSP中使用数据库_第4页
第6章JSP中使用数据库_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章 配合例子源代码一起使用例子源代码一起使用普通高等教育普通高等教育“十一五十一五”国家级规划教材国家级规划教材JSP 中使用数据库中使用数据库连接连接MySqlMySql数据库数据库 MySqlMySql是开源项目,但功能强大、不依赖于平台,受到广泛的关注。是开源项目,但功能强大、不依赖于平台,受到广泛的关注。 下面介绍使用加载下面介绍使用加载MySqlMySql的的JavaJava驱动程序来和驱动程序来和MySqlMySql数据库建立连接。数据库建立连接。 解压解压mysql-connector-java-5.0.4.zipmysql-connector-java-5.0.4.zip文

2、件至硬盘,在解压目录下的文件至硬盘,在解压目录下的mysql-mysql-connector-java-5.0.4-bin.jarconnector-java-5.0.4-bin.jar文件就是连接文件就是连接MySqlMySql数据库的数据库的JavaJava数据库驱动程数据库驱动程序。将该驱动程序复制到序。将该驱动程序复制到TomcatTomcat服务器所使用的服务器所使用的JDKJDK的扩展目录中,比如:的扩展目录中,比如:D:jdk1.6jrelibextD:jdk1.6jrelibext,或复制到,或复制到TomcatTomcat服务器安装目录的服务器安装目录的commonlibco

3、mmonlib文件夹文件夹中。中。 1.1.加载驱动程序加载驱动程序 try Class.forName(com.mysql.jdbc.Driver);try Class.forName(com.mysql.jdbc.Driver); catch(Exception e) catch(Exception e) 2.2.和指定的数据库建立连接和指定的数据库建立连接 try String uri= jdbc:mysql:/localhost/try String uri= jdbc:mysql:/localhost/数据库名数据库名; String user= String user=“用户名用户

4、名; String password= String password=“密码密码 ; ; con=DriverManager.getConnection(uri,user,password); con=DriverManager.getConnection(uri,user,password); catch(SQLException e) catch(SQLException e) 例例6-17 P183n连接字符串可以设定编码格式nurl = jdbc:mysql:/localhost:3306/test?useUnicode=true&characterEncoding=UTF-

5、8; 查询记录查询记录 与数据库建立连接后,就可以使用与数据库建立连接后,就可以使用JDBCJDBC提供的提供的APIAPI和数据和数据库交互信息,如查询、修改和更新数据库中的表等。对一个库交互信息,如查询、修改和更新数据库中的表等。对一个数据库中表进行查询操作的具体步骤:数据库中表进行查询操作的具体步骤: n 创建创建SQLSQL语句对象语句对象 try Statement sql=con.createStatement(); catch(SQLException e ) System.out.println(e); n 处理查询结果处理查询结果 sqlsql对象可以调用相应的方法实现对数据

6、库中表的查询和修改,并将对象可以调用相应的方法实现对数据库中表的查询和修改,并将查询结果存放在一个查询结果存放在一个ResultSetResultSet类声明的对象中类声明的对象中。 ResultSet rs=sql.executeQuery(“SELECT * FROM 表名表名”); ResultSetResultSet对象使用对象使用nextnext()方法方法一次看到一个数据行,用一次看到一个数据行,用getXxx getXxx (索索引或字段名引或字段名)方法获取字段值。方法获取字段值。用户登录的例子n1:在MySQL中建立一张user表n2:查询用户和密码是否匹配n3:根据结果跳转

7、到相应页面(成功/失败)预处理语句预处理语句 1 1:预处理语句优点:预处理语句优点 对于对于JDBCJDBC,如果使用,如果使用ConnectionConnection和某个数据库建立了和某个数据库建立了连接对象连接对象concon,那么,那么concon就可以就可以调用方法对参数调用方法对参数sqlsql指定的指定的SQLSQL语句进行预编译处理,生成该数据库底层的内部命令,语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在并将该命令封装在PreparedStatementPreparedStatement对象对象prepre中中 PreparedStatement pre=

8、con.prepareStatement(String sql);PreparedStatement pre=con.prepareStatement(String sql); 对象对象prepre可以随时地执行下述方法,提高访问数据库的速度。可以随时地执行下述方法,提高访问数据库的速度。 ResultSet executeQuery()ResultSet executeQuery() boolean execute() boolean execute() int executeUpdate() int executeUpdate() 2 2:使用通配符:使用通配符 在对在对SQLSQL进行预

9、处理时可以使用通配符进行预处理时可以使用通配符“?”来代替字段的值,只要在预处理语句来代替字段的值,只要在预处理语句执行之前再设置通配符所表示的具体值即可。例如:执行之前再设置通配符所表示的具体值即可。例如: pre=con.prepareStatement(SELECT pre=con.prepareStatement(SELECT * * FROM product WHERE price ? ); FROM product WHERE price ? ); pre.setDouble(1,6565); pre.setDouble(1,6565);(设置通配符设置通配符“?”的值的值) 的功

10、能等同于的功能等同于 pre=con.prepareStatement(SELECT pre=con.prepareStatement(SELECT * * FROM message WHERE price 6565 ); FROM message WHERE price 6565 ); 预处理语句设置统配符预处理语句设置统配符“?”的值的的值的常用方法见常用方法见p173p173. . 例例6-13 P171查询举例nnn 书号n 书名n 作者nn%n String driverClass=com.mysql.jdbc.Driver;nString url=jdbc:mysql:/localhost:3306/test;/n String user=root;/MySQ帐号n String password=;/MYSQL密码n Connection conn;n try n Class.forName(driverClass).newInstance();n conn=DriverManager.getConnection(url,user,password);n String sql=SELECT * FROM book where price ?;/表名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论