日期:2014-05-16  浏览次数:20413 次

JSP复习笔记——第10章 连接数据库之JDBC简介与基本使用
动态web的最大特点--> 可以操作数据库
JSP属于动态web程序—> JDBC去操作数据库

JDBC本身是Java连接数据库的一个标准
使用数据库之中,可以发现,对数据库的处理由数据库管理系统去操作
JDBC:是JAVA操作数据库的方法
ODBC:是微软的数据库操作

JDBC-ODBC桥接方式:JDBC-ODBC是在JDK中由SUN本身开发出来的一套数据库访问操作,在JDBC-ODBC桥接中,它的各种操作API都是最新的,但性能较低,使用ODBC提供的数据库连接技术访问数据库,在开发中此方式肯定不用,因为性能低
JDBC驱动程序:有各个厂商按JDBC标准提供

建立好数据库和表后,要配置数据源
数据源名称为程序中真正要使用到的名称:
ODBC的基本原理:
通过一个数据源名称-->找到数据库
为数据库起了一个别名—>程序通过别名访问数据库
即:程序只任名称,不任数据库

JDBC-ODBC数据库连接驱动程序是由SUN提供的,为:sun.jdbc.odbc.JdbcOdbcDriver
操作数据库使用以下两个主要接口:
? statement
? preparedStatement

使用statement可以向数据库中执行SQL语句
SQL两大操作
? 更新数据:executeUpdate()
? 查询数据:executeQuery()

更新数据库的主要步骤:
加载驱动程序-->打开连接Connection-->操作statement-->关闭
Java代码
1.<%@ page contentType="text/html;charset=gb2312"%>  
2.<%@ page import="java.sql.*"%>  
3.<%!  
4.    // 定义数据库驱动程序  
5.    String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver" ;  
6.    // 定义数据库连接地址  
7.    String DBURL = "jdbc:odbc:sky" ;  
8. 
9.    // 定义数据库连接对象,属于java.sql包中的接口  
10.    Connection conn = null ;  
11. 
12.    // 定义Statement对象,用于操作数据库  
13.    Statement stmt = null ;  
14. 
15.    // 定义一字符串变量,用于保存SQL语句  
16.    String sql = null ;  
17.%>  
18.<%  
19.    // 1、加载驱动程序  
20.    try {  
21.        Class.forName(DBDRIVER) ;  
22.    } catch(Exception e) {  
23.        // 此处使用out.print是处于演示目的,在实际开发中所有的错误消息,绝对不能够通过out.print打印,否则会存在安全问题  
24.        out.println("数据库驱动程序加载失败!!!") ;  
25.    }  
26. 
27.    // 2、连接数据库  
28.    try {  
29.        conn = DriverManager.getConnection(DBURL) ;  
30.    } catch(Exception e) {  
31.        out.println("数据库连接失败!!!") ;  
32.    }  
33. 
34.    // 3、操作数据库  
35.    // 通过Connection对象实例化Statement对象  
36.    try {  
37.        stmt = conn.createStatement() ;  
38.        // 为sql变量赋值  
39.        // 插入语句  
40.        sql = "INSERT INTO person (name,password,age) VALUES (darkness,'wind',22)" ;  
41.        // 更新语句  
42.        // sql = "UPDATE person SET name='wind',password='darkness' WHERE id=3" ;  
43.        // 按ID删除记录  
44.        // sql = "DELETE FROM person WHERE id=4" ;  
45.        // 通过Statement对象执行此SQL语句  
46.        stmt.executeUpdate(sql) ;  
47.    } catch(Exception e) {  
48.        out.println("操作数