内蒙古科技大学 教案 第十章数据库连接 本章学习重要目标: 握DBC的概念 掌握数据库连接的方法 §10.1JDBC介绍 JDBC(Java DataBase Connectivity)是Java数据库连接API,提供连接各种常用数据 库的能力 DBC程序的工作原理 JDBC API 提供者:un公司 内容:供程序员调用的接口与类,集成在java网l和javax.sql包中 提供者:n公司 作用:载入各种不同的DBC驱动 DBC驱动 提供者:数据库厂商 作用:负责连接各种不同的数据库 使用Java开发数据库应用程序需要4个主要类和接口: ①DriverManager类:依据数据库的不同,管理JDBC驱动 ②Connection接口:负责连接数据库并担任传送数据的任务 ③Statement接D:由Conne ction产生,负责执行SOL语句 ResultSet接口:负责保存Statement执行后所产生的查询结果 JDBC访间数据库的步骤: ①1与数据库建立连接、 ②2执行SQL语句、 ③3处理结果 1与数据库建立连接 首先使用包java.sql中的Connection类声明一个对象, 然后再使用类DriverManager调用它的静态方法getConnection创建这个连接对象 DriverManager.getConnection(JDBC URL,数据库用户名,密码) 2执行SQL语句 首先使用Statement类声明一个SQL语句对象。 然后通过刚才创建的连接数据库的对象con调用方法createStatment(创建这个 SQL语句对象: Statement) 第1页
内 蒙 古 科 技 大 学 教 案 第 1 页 第十章 数据库连接 本章学习重要目标: 掌握 JDBC 的概念 掌握数据库连接的方法 §10.1 JDBC 介绍 JDBC(Java DataBase Connectivity)是 Java 数据库连接 API,提供连接各种常用数据 库的能力。 JDBC 程序的工作原理 JDBC API 提供者:sun 公司 内容:供程序员调用的接口与类,集成在 java.sql 和 javax.sql 包中 DriverManager 提供者:sun 公司 作用:载入各种不同的 JDBC 驱动 JDBC 驱动 提供者:数据库厂商 作用:负责连接各种不同的数据库 使用 Java 开发数据库应用程序需要 4 个主要类和接口: ① DriverManager 类:依据数据库的不同,管理 JDBC 驱动 ② Connection 接口: 负责连接数据库并担任传送数据的任务 ③ Statement 接口:由 Connection 产生,负责执行 SQL 语句 ④ ResultSet 接口:负责保存 Statement 执行后所产生的查询结果 JDBC 访问数据库的步骤: ① 1 与数据库建立连接、 ② 2 执行 SQL 语句、 ③ 3 处理结果 1 与数据库建立连接 首先使用包 java.sql 中的 Connection 类声明一个对象. 然后再使用类DriverManager 调用它的静态方法getConnection创建这个连接对象: Connection con=DriverManager.getConnection(JDBC URL,数据库用户名,密码); 2 执行 SQL 语句 首先使用 Statement 类声明一个 SQL 语句对象。 然后通过刚才创建的连接数据库的对象 con 调用方法 createStatment()创建这个 SQL 语句对象: Statement stmt=con.createStatement();
内蒙古科技大学 教 案 使用$QL语句对象调用相应的方法实现对数据库中表的查询和修改。并将查询结 果存放在一个ResultSet类声明的对象中。 ResultSet rs=sql.executeQuery("SELECT+FROM student"). 使用结果集Result的next()方法,可以顺序地查询。 一个结果集最初将游标定位在第一行的前面。 第一次调用next)方法使游标移动到第一行】 next0方法返回 an型数据 当游标移动到最后一行之后返回false。 ResultSet对象是由统一形式的列组织的数据行组成。 ResultSet对象一次只能看到一个数据行,使用next()方法走到下一数据行。 获得一行数据后.ResultSet对象可以使用getxxxx方法获得字段值,将位置索引(第 一列使用1,第二列使用2等等)或字段名传递给g心x方法的参数。 3处理结果 String str=" while(rs.next()) st=Ts.getString(“娃名”)片 S10.2JDBC程序的工作模板 try Clas.forName(JDBC驱动类): )catch(ClassNotFoundException e){ System.out.println(无法找到驱动类" 、 try( Connection con=DriverManager.getConnection(JDBC URL,数据库用户名,密 码 Statement stmt-con.() ResultSet rs=stmt uteQuery("SELECTab.c FROM Table1") while(rs.next() intx=rs.getnt("a"方 String s=rs.getString("b") float f=rs.getFloat("e"). con.close(); catch (SQLException e) 第2页
内 蒙 古 科 技 大 学 教 案 第 2 页 使用 SQL 语句对象调用相应的方法实现对数据库中表的查询和修改。并将查询结 果存放在一个 ResultSet 类声明的对象中。 ResultSet rs=sql.executeQuery("SELECT * FROM student"); 使用结果集 Result 的 next()方法,可以顺序地查询。 一个结果集最初将游标定位在第一行的前面。 第一次调用 next()方法使游标移动到第一行。 next()方法返回一个 boolean 型数据.当游标移动到最后一行之后返回 false。 ResultSet 对象是由统一形式的列组织的数据行组成。 ResultSet 对象一次只能看到一个数据行,使用 next()方法走到下一数据行。 获得一行数据后.ResultSet 对象可以使用 getxxxx 方法获得字段值,将位置索引(第 一列使用 1,第二列使用 2 等等)或字段名传递给 getxxxx 方法的参数。 3 处理结果 ResultSet rs=sql.executeQuery("SELECT * FROM student"); String str=“”; while(rs.next()) { str=rs.getString(“姓名”); } §10.2 JDBC 程序的工作模板 try { Class.forName(JDBC 驱动类); } catch (ClassNotFoundException e) { System.out.println("无法找到驱动类"); } try { Connection con=DriverManager.getConnection(JDBC URL,数据库用户名,密 码); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); } con.close(); } catch (SQLException e) {
内蒙古科技大学 教案 e.printStack Trace(): §10.3JDBC驱动 DBC可以直接加载数据库驱动程序来访问数据库。 JDBC和数据库建立连接的另一种常见方式是建立起一个JDBC-ODBC桥接器。 如果使用JDBC一ODBC桥接器访问数据库,事先必须设置数据源。 第3页
内 蒙 古 科 技 大 学 教 案 第 3 页 e.printStackTrace(); } §10.3 JDBC 驱动 JDBC 可以直接加载数据库驱动程序来访问数据库。 JDBC 和数据库建立连接的另一种常见方式是建立起一个 JDBC-ODBC 桥接器。 如果使用 JDBC—ODBC 桥接器访问数据库,事先必须设置数据源