- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8 Java数据库连接
第8章 Java数据库连接(JDBC) 8.1 创建数据源 8.2 JDBC-ODBC桥接器 8.3 顺序查询 8.4 可滚动结果集 8.5 排序查询 8.6 模糊查询 8.7 更新、添加、删除记录 8.8 预处理语句 JDBC JDBC(Java DataBase Connectivity, Java数据库连接)封装了与各种数据库服务器通信的细节,Java程序通过JDBC API来访问数据库。简单地说,JDBC能完成3件事: (1) 与一个数据库建立连接。 (2) 执行SQL语句。 (3) 处理返回的数据集。 8.1 创建数据源 为了同数据库建立连接,首先要创建一个ODBC数据源。打开Windows中的控制面,对于WindowXP,选择“性能和维护”→“管理工具”→“数据源(ODBC)” ;对于Window2000,选择“管理工具”→“数据源(ODBC)”;对于Window9X,选择 “数据源(ODBC)”。也可以使用“资源管理器”双击c:\windows\system32下的可执行文件“odbcad32”打开“数据源(ODBC)”。 8.2 JDBC-ODBC桥接器 为了要连接到数据库,我们首先要建立一个JDBC-ODBC桥接器: try{ Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); } catch(ClassNotFoundException e) {} 连接到数据库 try{ Connection con=DriverManager.getConnection (jdbc:odbc:数据源名字,login name, password ); } catch(SQLException e) {} 8.2 JDBC-ODBC桥接器 执行SQL语句并得到返回的数据集 Statement sql = con.createStatement(); ResultSet rs = sql.executeQuery (SQL语句); 处理返回结果 ResultSet(结果集)对象实际上是一个数据集合,Result对象一次只能看到一个数据行,使用next()方法走到下一数据行,获取一行数据后,可以使用getXxx()方法获取字段值。getXxx()方法有两种形式:getXxx(索引号)和getXxx(字段名)。 8.3 顺序查询 使用结果集Result的next()方法,可以顺序的查询。一个结果集将游标最初定位在第一行的前面,第一次调用next()方法使游标移动到第一行。next()方法返回一个boolean型数据,当游标移动到最后一行之后返回false。 例子1 查询出数据库student.mdb中表score的所有记录。代码见Example8_1.java。 例子2 查询出数据库student.mdb中表score的“english”字段值大于80的记录,只显式“姓名”字段和“英语”字段。代码见Example8_2.java。 8.4 可滚动结果集 为了得到一个可滚动的结果集,必须使用下述方法先获得一个Statement对象: Statement stmt=con.createStatement (int type ,int concurrency); 然后,根据参数的type、concurrency的取值情况,stmt返回相应类型的结果集: ResultSet rs=stmt.executeQuery(SQL语句); 8.4 可滚动结果集 参数type决定结果集的滚动方式。 ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。 ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动,当数据库变化时,当前结果集不变。 ResultSet.TYPE_SCROLL_SENSITIVE 返回可滚动的结果集,当数据库变化时,当前结果集同步改变。 8.4 可滚动结果集 参数concurrency决定是否可以用结果集更新数据库。 ResultSet.CONCUR_READ_ONLY 不能用结果集更新数据库中的表。 ResultSet.CONCUR_UPDATETABLE 能用结果集更新数据库中的表。 8.4 可滚动结果集 ResultSet类中经常用于滚动查询的方法 (1) boolean previous() (2) void beforFirst() (3) void afterLast() (4) void first()
文档评论(0)