(九)JDBC操作技术
2008-02-19 – 17:34 - 271 views动态WEB的最大特点:可以操作数据库
- JSP是通过JDBC(Java DataBase Connectivity)技术操作数据库的
- 使用数据库之后可以发现,对数据的处理由数据库管理系统(DBMS)去完成,而程序只是将需要的数据进行显示
JDBC本身是JAVA连接数据库的一个标准,是JAVA操作数据库的方法,是SUN提供的,而微软操作数据库的方法是ODBC
JDBC 1.0:
- 分类:
- JDBC-ODBC Bridge(JDBC-ODBC桥接方式):因为性能较差,在开发中不采用
- JDBC-native Driver Bridge:驱动有个数据库生产厂家提供
- JDBC-network Bridge
- JDBC-ODBC:
- JDBC-ODBC是在JDK中由SUN本身开发出来的一套数据访问操作,在JDBC-ODBC桥接中它的各种操作API都是最新的,但是性能不高
- ODBC的基本原理
- 通过一个数据源名称 ---> 数据库
- 为数据库起了一个别名 ---> 程序通过别名访问数据库
- 即:程序只认别名不认具体的数据库
- 常用接口:
- 使用java.sql包
- 常用接口:--DriverManager --Connection --Statement --PreparedStatement --ResultSet
- **利用JDBC开发WEB数据库应用框架
- 装入JDBC驱动程序
- 创建与数据库的连接
- 创建语句对象
- 利用语句对象执行SQL语句得到结果
- 处理结果
- JDBC应用结束,关闭各项操作
- **JDBC具体使用--各条对应上面框架各条
- 通过Class.forName("XX"); eg.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
- Connection conn = DriverManager.getConnection(DBURL,USER,PASSWORD);
- 创建对象
- 使用statement对象:Statement stmt = conn.createStatement();
- 使用PreparedStatement对象:PreparedStatement pstmt = conn.PrepareStatement();
- 执行SQL语句返回ResultSet实例化对象
- 查询数据库:stmt.ececuteQuery(sql);
- 包括SELECT
- 更新数据库:stmt.ececuteUpdate(sql);
- 包括DELETE、INSERT、UPDATE
- 查询数据库:stmt.ececuteQuery(sql);
- 结果集ResultSet的处理
- 使用getXXX();方法可以得到不同类型的结果值(参数可以是字段或编号)
- next()方法可以使游标移动到下一条记录
- 数据库在每次使用之后都必要关闭,关闭数据库操作的顺序与打开数据库操作的顺序相反
- PreparedStatement--Statement的子接口
- 引入原因:当Statement所需要的SQL语句中包含“'”,会造成数据输入的不正确
- 建议:在开发中尽量不去使用Statement对象,而去使用PreparedStatement操作数据库