《java学习:数据库连接》由会员分享,可在线阅读,更多相关《java学习:数据库连接(24页珍藏版)》请在金锄头文库上搜索。
1、JAVA数据库连接 1 本章目标 p了解JDBC的概念及必要性 p了解JDBC驱动程序类型 p理解JDBC 程序的结构 p运用JDBC进行数据库编程 2 数据库访问技术简介 客户机/服务器 应用程序 数据库编程 ODBCJDBC 两个常用的API 数据库 执行 SQL 语句 检索查询结果 3 数据库 ODBC 客户机/服务器 GUI应用程序 ODBC (开放式数据库连接) (Microsoft 提供) 插 入 删 除 修 改 应用程序编程接口 查询 4 JDBC JDBC (Java 数据库连接) (sun公司提供) Java 应用程序编 程接口 Java应用程序 数据库 插 入修 改 删 除
2、查询 5 JDBC 驱动程序的类型 JDBC 驱动程序 的类型 JDBC-ODBC桥驱动程序及ODBC驱动程序 本地API部分Java驱动程序 JDBC-Net 纯Java驱动程序 本地协议纯Java驱动程序 6 JDBC 体系结构 2-1 Java 程序 JDBC 驱动程序 数据库 SQL 命令 结果 7 JDBC 体系结构 2-2 应用层 Driver StatementResultSet Connection 各接口 驱动层 8 java.sql 包 3-1 接口名 说明 Connection此接口表示与数据的连接 PreparedStatement此接口用于执行预编译 的 SQL 语句
3、 ResultSet此接口表示了查询出来的数据库数据结果集 Statement此接口用于执行 SQL 语句并将数据检索到 ResultSet 中 9 java.sql 包 3-2 类类名 说说明 DriverManager此类用于加载和卸载各种驱动程序并建立与数据库的连接 Date此类包含将 SQL 日期格式转换成 Java 日期格式的各种方法 Time此类用于表示时间 TimeStamp此类通过添加纳秒字段为时间提供更高的精确度 10 JDBC 程序访问数据库的步骤 2-1 开 始 导入 java.sql包 加载并注册驱动程序 创建一个 Connection 对象创建一个 Statement
4、 对象执行语句 关闭ResultSet 对象关闭Statement对象关闭连接 结 束 使用ResultSet对象 11 Friends 表的结构 JDBC 程序访问数据库的步骤 2-2 p它演示访问数据库的各个步骤 p在执行示例 1 中的程序之前,SQL Server 中应该存在一个 名为 friends 的表 演示:示例 1 列名称数据类类型 名称 Varchar(50) 地址Varchar(50) 电话Numeric 入职日期Datetime 工资Numeric /* 2005 Aptech Limited * 版权所有 */ import java.sql.SQLException;
5、import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; /* 这个类演示访问数据库需遵循的各个步骤. * version 1.0, 2005 年 8 月 26 日 * author Ben */ class Jdbctest /* 构造方法 */ protected Jdbctest() /*这是 main 方法. */ public static void main(String args) try Class.forNam
6、e(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(ce); try String url = jdbc:odbc:test; Connection con = DriverManager.getConnection(url); Statement s = con.createStatement(); ResultSet rs = s.executeQuery(select * from friends); while (rs.next() System.out.print(
7、rs.getString(1) + t); System.out.print(rs.getString(2) + t); System.out.print(rs.getInt(3) + t); System.out.print(rs.getDate(4) + t); System.out.println( ); rs.close(); s.close(); con.close(); catch (SQLException ce) System.out.println(ce); 12 JDBC 查询2-1 SQL 查询字符串 executeQuery() 方法 作为参数传递 ResultSet
8、返回查询数据 SELECT name, email, phone FROM colleagues; 使用 SQL 语句,查询可编写为: String str = SELECT emp_id, lname, fname FROM colleagues; Statement stmt = con.createStatement(); ResultSet rset = stmt.executeQuery(str); 使用 JDBC 编写此查询,则代码为: Statement接口 13 JDBC 查询2-2 p它演示 SQL 中 sum( ) 方法的用法 演示:示例 2 /* * Jdbctest2
9、*/ import java.sql.SQLException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; /* 这个类演示 SQL 中 sum() 方法的用法 * version 1.0, 2005 年 8 月 26 日 * author Ben */ class Jdbctest2 /* 构造方法*/ protected Jdbctest2() /* 这是 main 方法*/ public static vo
10、id main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(ce); try String url = jdbc:odbc:test; Connection con = DriverManager.getConnection(url); Statement s = con.createStatement(); ResultSet rs = s.executeQuery( select hiredate, sum
11、(salary) from friends group by hiredate); while (rs.next() System.out.print(rs.getDate(1) + t); System.out.print(rs.getInt(2) + t); System.out.println( ); rs.close; s.close(); con.close(); catch (SQLException ce) System.out.println(ce); 14 演示:示例 3 p它演示 SQL 中 INSERT 语句的用法 /* * Jdbctest3 */ import jav
12、a.sql.SQLException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; /* 这个类演示 INSERT 语句的用法. * version 1.0, 2005 年 8 月 26 日 * author Ben */ class Jdbctest3 /* 构造方法 */ protected Jdbctest3() JDBC 插入数据实现 /* 这是 main 方法*/ public static void m
13、ain(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(ce); try String url = jdbc:odbc:test; String str = INSERT INTO “ + friends(name,address,salary)“ + VALUES(朱八,深圳 ,25690); Connection con = DriverManager.getConnection(url); Statement
14、 s = con.createStatement(); int rowcount = s.executeUpdate(str); String str1 = select name, sum(salary) “ +from friends + group by name; ResultSet rs = s.executeQuery(str1); while (rs.next() System.out.print(rs.getString(1) + t); System.out.print(rs.getInt(2) + t); System.out.println( ); rs.close(); s.close(); con.close(); catch (SQLException ce) System.out.println(ce); 15 JDBC 删除和修改实现 p它演示 SQL 中各种命令的用法 演示:示例 4 /* * Jdbc2 */ import java.sql.SQLException; import java