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

下载本文档

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

文档简介

课堂作业安装Oracle数据库,启动数据库服务。编写Java程序,通过纯Java数据库驱动程序连接Oracle查询orcl数据库dept表中的所有信息课堂练习创建一个名叫student的表,包含三个属性:学号:sno,长为20的字符串,主键;姓名:sname,长为10的字符串,非空;年龄:sage,长为3的整数(1-200);在表中插入三个合法记录(内容随意)在表中执行查询、修改和删除操作;删除表课堂练习创建一个名叫loginuser的表,包含三个属性:用户名:uname,长为20的字符串,主键;密码:upass,长为10的字符串,非空;年龄:uage,长为3的整数(1-200);在表中插入三个合法记录(内容随意)在表中执行查询、修改和删除操作;7.1JDBC简介什么是JDBC?Java数据库连接(JavaDataBaseConnectivity)Sun公司开发的一种用于执行SQL语句的JavaAPI由一组用Java语言编写的类和接口组成,可以为多种关系数据库提供统一访问通用性:只需用JDBCAPI编写一个程序,就可以向相应数据库发送SQL语句,进而访问多种不同的数据库7.1JDBC简介JDBCAPI中的类和接口java.sql.DriverManager类java.sql.Connection接口java.sql.Statement接口java.sql.PreparedStatement接口java.sql.ResultSet接口

7.1JDBC简介与数据库建立连接的两种方式。1)建立JDBC-ODBC桥接器:由Sun公司本身开发出来的软件模块性能不高(通常在教学中使用)2)加载纯Java数据库驱动程序所有驱动程序由各个数据库生产厂商按照JDBC标准提供性能较高(通常在软件开发中使用)7.2Java驱动程序连接数据库加载纯Java驱动程序连接数据库的步骤:1)加载Java数据库驱动程序2)创建连接(Connection)对象,连接到数据库3)创建预处理语句(Statement)对象4)执行SQL语句,得到查询结果(ResultSet)5)对结果操作后,释放连接贾琏欲执事7.2Java驱动程序连接数据库1)加载Java数据库驱动程序先将oracle文件夹下的ojdbc14.jar文件加入到当前项目的类库中,该文件的路径如下: (oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar)具体添加方法请看图示。选择properties7.2Java驱动程序连接数据库1)加载Java数据库驱动程序Class.forName("oracle.jdbc.driver.OracleDriver");Class是包java.lang中的一个类;Class类通过调用静态方法forName加载oracle.jdbc.driver包中的OracleDriver类连接数据库;加载类时,可能会发生异常,需要捕捉7.2Java驱动程序连接数据库2)创建连接(Connection)对象 Connectioncon=DriverManager.getConnection("jdbc:oracle:thin:@主机:端口号:数据库名", "用户名","密码");jdbc:oracle:thin@表示通过jdbc采用thin模式连接Oracle数据库主机:端口:数据库名一般为localhost:1521:orcl用户名/密码常用的是scott/tiger创建连接时,可能会发生异常,需要捕捉。7.2Java驱动程序连接数据库3)创建预处理语句(Statement)对象 PrepareStatementps=con.prepareStatement("SQL语句");预编译处理后,会生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象中;预处理的方式不仅减轻了数据库的负担,而且也提高了访问数据库的速度。7.2Java驱动程序连接数据库4)执行SQL语句 ResultSetrs=ps.executeQuery();//执行查询命令

ps.executeUpdate(); //执行增删改命令编译好PreparedStatement对象之后,可令其执行操作。如果预编译中的SQL语句是查询命令,则执行executeQuery()方法如果预编译中的SQL语句是增删改命令,则执行executeUpdate()方法7.2Java驱动程序连接数据库5)释放连接 con.close() //关闭数据库连接为了不浪费系统资源,数据库每次使用后都必须关闭。关闭数据库的顺序与打开数据库的顺序相反1)先关闭结果集(ResultSet)2)再关闭操作(Statement)3)最后关闭连接(Connection)排序查询可以在SQL语句中使用ORDERBY子语句,对记录排序。例如:按总成绩排序查询的SQL语句 SELECT*FROMstudentORDERBYsno;升序:ASC(默认)降序:DESC模糊查询可以用SQL语句操作符LIKE进行模式般配:使用“%”代替0个或多个字符;用一个下划线“_”代替1个字符;比如:下述语句查询姓氏是“王”的记录:SELECT*FROMstudentsWHEREsnameLIKE‘王%’;更新、添加、删除预处理对象(PrepareStatement)执行如下方法:publicintexecuteUpdate();SQL更新操作常用命令:UPDATE:UPDATEstudentSETsage=88WHEREsno=‘002’;INSERT:INSERTINTOstudentVALUES(‘004',‘xuliu',29);DELETE:DELETEFROMstudentWHEREsno=‘004’;在对SQL进行预处理的时候,可以使用通配符“?”来代替字段的值,在预处理语句执行之前,需调用相关方法设置通配符所代表的具体值。普通查询:sql=con.prepareStatement("SELECT*FROM成绩表WHEREmath<89");通配符查询:sql=con.prepareStatement("SELECT*FROM成绩表WHEREmath<?");sql.setInt(1,89);优点:使用通配符可以使得应用程序更容易动态的改变SQL语句中关于字段值的条件7.3通配符7.4在JSP中使用数据库JSP页面可以在JAVA程序片中添加连接数据库的代码,完成对数据库的操作但这种方式写出的代码太混乱!!!无法将数据的显示与数据的处理分离。7.4在JSP中使用数据库解决方案:采用JSP+JavaBean模式。即:JSP页面调用bean来完成对数据库的操作课堂练习:制作一个简易的客户登陆页面:由login.jsp、server.jsp、success.jsp和fail.jsp四个页面构成;在submit.jsp中输入用户名和密码,点击提交键后将信息提交给server.jsp处理server.jsp通过JavaBean连接Oracle数据库,查询在User表中是否存在输入的用户名和密码,是则显示成功,跳转至success.jsp,否则跳转至fail.jsp,显示失败练习:顺序查询练习:排序查询练习:模糊查询练习:更新、添加与删除操作

Statement对象调用方法:intexecuteUpdate(StringsqlStatement);通过参数sqlStatement指定的方式实现对数据库表中记录的更新、添加和删除操作。练习:更新操作

练习:添加操作

练习:删除操作

练习:更新、添加与删除操作

7.基于CachedRowSet分页显示记录CachedRowSetImpl对象可以保存ResultSet对象中的数据,而且CachedRowSetImpl对象不依赖Connnection对象这意味着一旦把ResultSet对象中的数据保存到CachedRowSetImpl对象后,就可以关闭和数据库的连接如何连接Oracle1.加载Java驱动程序Class.forName("oracle.jdbc.driver.OracleDriver");2.建立连接con=DriverManager.getConnection("jdbc:oracle:thin:@主机:端口号:数据库名","用户名","密码");看例子8.连接Oracle数据库加载驱动程序:Class.forName("oracle.jdbc.driver.OracleDriver");建立连接:Connectionconn=DriverManager.getConnection("jdbc:oracle:thin:@主机host:端口号:数据库名","用户名","密码");

9.连接

温馨提示

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

评论

0/150

提交评论