资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,1,信息科学与工程学院 软件工程系,JSP,第7章 在JSP中使用数据库,第7章 在JSP中使用数据库,返回,本章采用的模式是,JSP+JavaBean,模式:,JSP,页面调用,bean,来完成对数据库的操作,使用的数据库管理系统是,SQL Server 2000,用户,JSP页面,JavaBean,数据库服务器,调用,返回,连接,Tomcat服务器,返回,请求,返回本章采用的模式是JSP+JavaBean模式:JSP页面,7.1 SQL Server 2000,数据库管理系统,数据库管理系统简介,SQL Server 2000的基本操作,启动SQL Server 2000,建立数据库:Student,建立表:Score,学号、姓名、数学成绩、物理成绩、英语成绩,学号为主键。,7.1 SQL Server 2000数据库管理系统数据库管,7.2,JDBC,JDBC,:,Java,连接数据库的,API,,由,Java,类和接口组成,使用,JDBC,进行如下操作,与一个数据库建立连接。,向已连接的数据库发送,SQL,语句。,处理,SQL,语句返回的结果。,应用程序,JDBC,数据库,连接,使用,7.2 JDBCJDBC:Java连接数据库的API,由Ja,7.3,数据库连接的常用方式,(1)建立起,JDBC-ODBC,桥接器,ODBC:Microsoft的数据库连接技术,可访问几乎所有类型的数据库。,JDBC-ODBC,桥接器,应用程序,JDBC,ODBC数据源1,桥接器,使用,ODBC,ODBC数据源2,ODBC数据源3,7.3 数据库连接的常用方式 (1)建立起JDBC-ODBC,使用JDBC-ODBC桥接器建立数据库连接的方法,创建ODBC数据源,【见文档】,建立JDBC-ODBC桥接器【代码完成】,和ODBC数据源指定的数据库建立连接【代码完成】,例7-1 showByJdbcOdbc.jsp,使用JDBC-ODBC桥接器建立数据库连接的方法例7-1 s,(2)使用纯,Java,数据库驱动程序,纯Java驱动程序:用Java编写的驱动程序,使用纯Java数据库驱动程序建立数据连接的步骤:,加载纯Java驱动程序,和指定的数据库建立连接,应用程序,JDBC,Oracle,加载,使用,Oracle驱动,MySQL,SQL Server,MySQL驱动,SQL Server驱动,(2)使用纯Java数据库驱动程序 应用程序JDBCOrac,说明:,要有相应的访问数据库的Java驱动程序(下载),SQL Server 2000的补丁安装(SP3),加载,SQLServer,驱动程序代码:,Class.forName(net.sourceforge.jtds.jdbc.Driver);,例7-2 showBySQLDriver.jsp,驱动:jtds-1.2.4.jar,放在应用目录的WEB-INF/lib下。连接方法参照,dbquery.java,说明:例7-2 showBySQLDriver.jsp驱动:,7.4 查询操作,与数据库建立连接后,就可以使用JDBC提供的API和数据库交互信息,如查询、修改和更新数据库中的表等。与数据库交互所使用的语言是SQL。,操作步骤:,创建Statement对象:,Statement,sql = con.,createStatement,();,sql对象调用相应的方法,实现对数据库中表的查询和修改,并将查询结果存放在一个ResultSet类声明的对象中,其结果以统一的列组织的数据行组成。如:,ResultSet,rs=sql.,executeQuery,(,SELECT * FROM score,);,张三,89,89,李四,78,67,7.4 查询操作 与数据库建立连接后,就可以使用JDBC提供,7.4.1 顺序查询,实例:例7-3【MyEclipse实现】,QueryBeanOne.java:使用JDBC-ODBC桥接器,QueryBeanTwo.java:使用纯Java接口,main.jsp:主页面,inquireOne.jsp:使用QueryBeanOne查询,inquireTwo.jsp:使用QueryBeanTwo查询,建立连接之后,调用getMetaData()方法获得一个DatabaseMetaData对象,该对象调用getColumns()获得一个表的字段。,7.4.1 顺序查询实例:例7-3【MyEclipse实现】,主要知识点,返回结果集中指定的一条记录或随机显示若干条记录,可滚动的结果集,7.4.2 随机查询,Statement stmt = con.createStatement(int,type, int,concurrency,),type的取值,ResultSet.TYPE_FORWARD_ONLY:结果集游标,只能向下,移动,ResultSet.TYPE_SCROLL_INSENSITIVE:结果集游标可以,上下,移动,数据库变化时,当前结果集不变,ResultSet.TYPE_SCROLL_SENSITIVE:返回可滚动的结果集,数据库变化时,当前结果集同步改变,主要知识点7.4.2 随机查询Statement stmt,Concurrency取值,ResultSet.CONCUR_READ_ONLY:不能用结果集更新数据库中的表,ResultSet.CONCUR_UPDATABLE:能用结果集更新数据库中的表,ResultSet的常用方法【略】见:, 条件查询,SELECT 语句的基本使用方法:,SELECT,列名表,FROM,表或视图名,WHERE,查询限定条件,SELECT,列名表 ,INTO,新表名,FROM,表或视图名,WHERE,查询限定条件,GROUP BY,分组表达式,HAVING,分组条件,ORDER BY,次序表达式ASC|DESC,7.4.3 条件查询SELECT 语句的基本使用方法:SEL,7.5,更新、添加与删除操作,Statement,对象调用方法:,public int executeUpdate(String sqlStatement);,通过参数sqlStatement指定的方式实现对数据库表中记录的更新、添加和删除操作.,更新:UPDATE,添加:INSERT,删除:DELETE,7.5 更新、添加与删除操作 Statement对象调用方法,练习:【MyEclipse】,通过mainPage.jsp查看数据库Student中Score表的全部记录,并提供更新操作、添加操作和删除操作三个按钮,以链接到renew.jsp、add.jsp、delete.jsp,这些使用相应的bean完成相应的操作。,练习:【MyEclipse】,
展开阅读全文