JDBC与数据库连接.ppt
《JDBC与数据库连接.ppt》由会员分享,可在线阅读,更多相关《JDBC与数据库连接.ppt(62页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、JSPJSP中使用数据库中使用数据库1JSP与与JDBC数据库连接数据库连接数据库数据库JSPJSP中使用数据库中使用数据库2JDBCJDBC技术技术 JDBC(Java DataBase Connectivity):是一种可用于执是一种可用于执行行SQL语句的语句的API(Application Programming Interface,应用程序设计接口应用程序设计接口)JDBC是第一个标准化地把关系数据库和是第一个标准化地把关系数据库和Java程序集成程序集成到一起的尝试到一起的尝试;JDBC已经发挥了可以集成到已经发挥了可以集成到Java小程序和应用程序中小程序和应用程序中的所有的关系
2、数据库的能力。的所有的关系数据库的能力。JSPJSP中使用数据库中使用数据库3JDBCJDBC的能力的能力JDBC能实现的功能:能实现的功能:与一个数据库建立连接;与一个数据库建立连接;向数据库发送向数据库发送SQLSQL语句;语句;处理数据库返回的结果。处理数据库返回的结果。JSPJSP中使用数据库中使用数据库4JDBCJDBC两层模型两层模型客户机Java applet或java应用数据库服务器SQL请求请求结果存储器两层模型中,一个Java Applet或者一个Java应用程序直接同数据库连接;数据库可以在同一机器上,也可以在另外一台机器上,通过网络进行连接,此即为客户机服务器结构,用户
3、的计算机作为客户机,运行数据库的计算机作为服务器JSPJSP中使用数据库中使用数据库5JDBCJDBC三层模型三层模型客户机Java applet或java应用中间件业务规定客户机库SQL请求请求结果存储器数据库服务器存储器JSPJSP中使用数据库中使用数据库6使用使用JDBC-ODBC桥接器访问数据库桥接器访问数据库v利用ODBC驱动程序访问JDBC访问;v建立这种桥接器后,使得JDBC有能力访问所有类型的数据库;v必须设置数据源。JSPJSP中使用数据库中使用数据库7课堂练习:数据库的建立与数据源的设置课堂练习:数据库的建立与数据源的设置建立数据库建立数据库“students”(本课采用本
4、课采用SQL Server 2000数据库数据库);建立表:建立表:students;表的字段:学号姓名数学成绩英语成绩物理成绩设置数据源:设置数据源:“sun”步骤:控制面板ODBC数据源系统系统(用户)DSN添加不同数据库驱动程序完成数据源名选择数据库测试程序:测试程序:Example5_1.jspJSPJSP中使用数据库中使用数据库8JDBC-ODBCJDBC-ODBC桥接器桥接器加载桥接器驱动程序:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);Class是包java.lang中的一个类,该类调用静态方法forName就可以建立桥接器。注意:
5、处理异常。注意:处理异常。tryClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);catch(ClassNotFoundExceptione)JSPJSP中使用数据库中使用数据库9连接到数据库连接到数据库使用包java.sql中的Connection类声明一个对象;使用类DriverManager调用静态方法getConnection创建这个连接对象Connectioncon=DriverManager.getConnection(“jdbc:odbc:数据源名字”,”loginname”,”password”);JSPJSP中使用数据库中使用数据库1
6、0例:与数据库例:与数据库studentsstudents建立连接建立连接 假设数据库students的数据源的名称为sun,建立的方法为:try)Connectioncon=DriverManage.getConnection(“jdbc:odbc:sun”,”sa”,”);catch(SQLExceptione)JSPJSP中使用数据库中使用数据库11向数据库发送向数据库发送SQLSQL语句语句首先用Statement声明一个SQL语句对象;调用连接数据库的对象con调用方法createStartment()创建SQL对象;tryStatementsql=con.createStateme
7、nt();Catch(SQLExceptione)JSPJSP中使用数据库中使用数据库12处理查询结果处理查询结果利用SQL语句对象,调用方法对表查询和修改;查询对象放在一个ResultSet类声明的对象中,即返回一个ResultSet对象:ResultSetrs=sql.executeQuery(“select*from表名”);ResultSet对象一次只能看到一个数据行,使用next()方法移到下一数据行:rs.next()JSPJSP中使用数据库中使用数据库13取得数据表中的数据取得数据表中的数据 为取得记录指针当前指向记录的各个字段的数据,可以根据字段的数据类型使用getXXX方法。
8、语法格式:语法格式:rs.getXXX(“字段名称”);针对数据库中不同字段的数据类型,取得字段数据的getXXX方法。例如:rs.getString(1)rs.getInt(“数学成绩”)JSPJSP中使用数据库中使用数据库14利用利用WhileWhile循环获取数据表中所有记录循环获取数据表中所有记录利用ResultSet对象在建立时,记录指针指向第一条记录之前,结合ResultSet对象提供的next方法,在while循环中移动记录指针,向下逐条地将数据库中的记录依次获取,在移动到记录的最后一条,由next方法返回值false来结束循环。语法结构:语法结构:while(rs.next()
9、while(rs.next()rs.getXXX(“rs.getXXX(“字段名称字段名称”);”);JSPJSP中使用数据库中使用数据库15练习拓展v将程序Example.jsp改为在dreamweaver中设计页面;v查询英语成绩大于80分的同学,结果只显示“姓名”和“英语成绩”;v增加“班级”字段,在页面显示数据。JSPJSP中使用数据库中使用数据库16思考如何在结果集中前后移动?如何按照逆序输出记录?如何指定显示一条记录?JSPJSP中使用数据库中使用数据库17游动查询(重点内容)游动查询(重点内容)Statement对象的建立:Statementstatement=con.creat
10、eStatement(inttype,intconcurrency);Type(滚动方式)默认值:TYPE_FORWARD_ONLYconcurrency(数据一致性)默认值:COUCUR_READ_ONLY此时,指针只能向前移动,而且ResultSet对象中的数据只能读而不能修改;JSPJSP中使用数据库中使用数据库18typetype的取值的取值 type的取值决定滚动方式,取值还可以是:TYPE_SCROLL_SENSITIVE指针能够向前或向后自由移动,其他ResultSet对象变动指针时,会影响指针的位置;TYPE_SCROLL_INSENSITIVE指针能够向前或向后自由移动,其他
11、ResultSet对象变动指针时,不会影响指针的位置。JSPJSP中使用数据库中使用数据库19ConcurrencyConcurrency取值取值 Concurrency取值决定是否可以用数据集更新数据库CONCUR_READ_ONLY:不能用结果集更新数据库中的表;CONCUR_UPDATEABLE:ResultSet对象中的数据可以读也可以修改,不能用结果集更新数据库中的表;JSPJSP中使用数据库中使用数据库20ResultSetResultSet的一些方法:的一些方法:previous()、beforeFirst()、afterLast()、first()、last()、isAfter
12、Last()、isBeforeFirst()、isFirst()、isLast()、getRow()、absolute(introw)。注意注意absolute(introw):absolute(introw):如果row取负值,就是倒数的行数;absolute(-1)表示移到最后一行,当移动到第一行前面或最后一行的后面时,该方法返回false。JSPJSP中使用数据库中使用数据库21逆序取得数据表中的记录逆序取得数据表中的记录顺序查找:顺序查找:Statementsql=con.createStatement();逆序查找:逆序查找:Statementsql=con.createStatem
13、ent(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);/返回可滚动的结果集,返回可滚动的结果集,rsrs的创建方法不改变。的创建方法不改变。的创建方法不改变。的创建方法不改变。JSPJSP中使用数据库中使用数据库22逆序取得数据表中的记录逆序取得数据表中的记录(2)v把记录指针移动到数据表记录的最后一条;v结合ResultSet对象提供的previous方法,在while循环中移动记录指针,向上逐条地将数据库中的记录依次获取;v在移动到记录的最前一条,由previous方法返回值false来结束循环。rs.last();
14、out.print(该表共有+rs.getRow()+条记录);rs.afterlast();while(rs.previous()rs.getXXX(“字段名称”);JSPJSP中使用数据库中使用数据库23SQLSQL语言语言SQL(StructuredQueryLanguage,结构查询语言):是关系型数据库管理系统的标准语言,主要功能是与各种数据库进行联系、通信,实现对数据库的控制与管理;关系数据库系统:Oracle、Sybase、MicrosoftSQLServer、Acess等,都采用SQL作为数据库的操作语言。JSPJSP中使用数据库中使用数据库24DML(Data Manipul
15、ation Language,数据操作语言);用于执行数据库的检索或者修改数据,其分为以下几个语句:SELECT用于检索数据;INSERT用于增加数据到数据库;UPDATE用于从数据库中修改现存的数据;DELETE用于从数据库中删除数据;JSPJSP中使用数据库中使用数据库25SELECT语句是SQL的核心,主要用于查询数据库并检索匹配指定条件的选择数据,语法格式为:SELECT字段名称,字段名称2,FROM数据表名,数据表名2GROUPBY”字段名称”HAVING”分组条件”ORDERBY”字段名称”升序(ASC)|降序(DESC)JSPJSP中使用数据库中使用数据库26练习数据库:数据库:
16、student数据源:数据源:student程序:程序:sql_select.jsp(数据查询语句测试数据查询语句测试)sql_recordPoint.jsp(数据插入、删除、修改测试数据插入、删除、修改测试)sql_while.jsp(逆序获取记录逆序获取记录)sql_iud.jsp(记录指针记录指针)要求:利用要求:利用4个个jsp程序,练习程序,练习sql语句。语句。JSPJSP中使用数据库中使用数据库27SELECT基本语句的应用基本SELECT语句是指将数据表中的数据在不经过条件提取的情况下提取的全部数据;格式:SELECT*FROMSTUDENT(表名)例如:SELECTID,NA
17、ME,CHINESE,MATHS,PYSICS,CHEMISTRYFROMSTUDENTJSPJSP中使用数据库中使用数据库28WHEREWHERE子句的应用子句的应用可选语句,是对数据表中的数据进行有条件的查询;语法结构:语法结构:where“查询数据满足的条件”;LIKE运算符:满足与用户规定格式相同的记录,可与”%”,”_”,”#”配合使用;通配符”%”:用来代替一个未知的字符串例如:select*fromstudentwherenamelike李%,查找姓李的所有同学的数据JSPJSP中使用数据库中使用数据库29通配符通配符“_”“_”用来代替一个未知的字符例如:select*from
18、studentwherenamelike李_语句意义:查找只有两个字符,而且第一个字符必须为“李”的同学的数据;JSPJSP中使用数据库中使用数据库30比较运算符比较运算符运算符意义 =等于等于 大于大于 =大于等于大于等于 =小于等于小于等于 不等于不等于JSPJSP中使用数据库中使用数据库31运用比较运算符运用比较运算符(1)等于运算符等于运算符(=)语句实例语句实例:select*fromstudentwherechinese=92大于运算符大于运算符:()语句实例语句实例:select*fromstudentwherechinese75小于运算符小于运算符:()语句实例语句实例:sel
19、ect*fromstudentwherechinese=)语句实例:语句实例:select*fromstudentwherechinese=75小于等于运算符:(=)语句实例:语句实例:select*fromstudentwherechinese=75不等于运算符:()语句实例:语句实例:select*fromstudentwherechinese75JSPJSP中使用数据库中使用数据库33NOTNOT运算符运算符语法结构:语法结构:wherenotwherenot字段名称字段名称1like1like;或者或者wherenotwherenot字段名称字段名称1notlike1notlike;语
20、句实例:语句实例:select*from student where not name like select*from student where not name like 李李李李%;或者:或者:select*from student where name not like select*from student where name not like 李李李李%;语句意义:语句意义:查询不姓李的同学的数据。查询不姓李的同学的数据。JSPJSP中使用数据库中使用数据库34ININ运算符语法结构运算符语法结构语法结构:语法结构:wherewhere字段名称字段名称in(in(值值1 1,值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JDBC 数据库连接
限制150内