- 在使用JDBC开发应用程序,应该按照以下步骤设置JDBC环境。(假设在Windows平台上工作)
- 需要做的前提条件:安装JAVA JDK(从Java官网中安装J2SE Development Kit 5.0或者以上版本)、安装Mysql数据库、安装数据库驱动程序。
关于数据库驱动程序安装问题: - 最新的JDK包含一个JDBC-ODBC桥接驱动程序,它使得大多数开放数据库连接(ODBC)驱动程序可用于使用JDBC API的程序。 - 大多数数据库供应商都在提供适当的JDBC驱动程序以及数据库安装。所以,不必担心此部分。 |
1、设置JDBC环境
a、创建数据库:要创建EMP数据库
i、打开命令提示符,并按如下所示进入安装MySQL的目录:
C:\Users\Administrator>cd C:\Program Files\MySQL\MySQL Server 5.1\bin
- 注意:mysqld.exe的路径可能会因系统上的MySQL安装位置而异。
ii、通过执行以下命令(如果它尚未运行)来启动数据库服务器:
C:\Users\Administrator>cd C:\Program Files\MySQL\MySQL Server 5.1\bin
- 或者可以选择从服务中启动:
iii、通过执行以下命令来创建EMP数据库:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqladmin create EMP -u root -p Enter password: ********
b、创建表:要在EMP数据库中创建Employees表,参照如下步骤
i、打开命令行提示符,并按照如下所示进入MySQL安装目录:
C:\Users\Administrator>cd C:\Program Files\MySQL\MySQL Server 5.1\bin
ii、登录数据库:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqladmin create EMP -u root -p Enter password: ********
iii、创建Employee表:
mysql> use EMP; Database changed mysql> CREATE TABLE Employees ( -> id int not null, -> age int not null, -> first varchar (255), -> last varchar (255) -> );
iv、创建数据记录:在Employee表中创建(插入)几条数据记录
mysql> INSERT INTO Employees VALUES (100, 28, 'Max', 'Su'); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO Employees VALUES (101, 25, 'Wei', 'Wang'); Query OK, 1 row affected (0.02 sec) mysql> INSERT INTO Employees VALUES (102, 30, 'Xueyou', 'Zhang'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Employees VALUES (103, 28, 'Jack', 'Ma'); Query OK, 1 row affected (0.00 sec)
2、创建JDBC应用程序
a、构建JDBC应用程序涉及以下六个步骤:(这些类和接口,以及其中的方法会在之后进一步说明)
- 导入包:需要包含数据库编程所需要的JDBC类的包。大多数情况下,使用import java.sql.*就足够。 - 注册JDBC驱动程序:需要 初始化驱动程序,以便可以打开与数据库的通信通道。 - 打开一个连接:需要使用DriverManager.getConnnection()方法创建一个Connection对象,他表示与数据库的物理连接。 - 执行查询:需要使用类型为Statement的对象来构建和提交SQL语句到数据库中。 - 从结果集中提取数据:需要使用相应的ResultSet.getXXX()方法从结果集中检索数据。 - 清理环境:需要明确地关闭所有数据库资源,而不依赖于JVM的垃圾收集。 |
b、使用java编写JDBC简单示例代码:
package com.geeklicreed.jdbc; //导入包 import java.sql.*; public class JDBCSimpleExample { static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/emp"; static final String USER = "root"; static final String PASS = "02000059"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try { //注册JDBC驱动程序 Class.forName(JDBC_DRIVER); System.out.println("Connecting to database..."); //打开一个连接 conn = DriverManager.getConnection(DB_URL, USER, PASS); //执行查询 System.out.println("Creating statement..."); stmt = conn.createStatement(); String sql = "SELECT id, first, last, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); //从结果集中提取数据 while(rs.next()){ int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); System.out.print("ID: " + id); System.out.print(", AGE: " + age); System.out.print(", FIRST: " + first); System.out.println(", LAST: " + last); } //清理环境 rs.close(); stmt.close(); conn.close(); } catch (Exception e) { //为Class.forName处理异常 e.printStackTrace(); } finally{ try { if(stmt != null){ stmt.close(); } } catch (SQLException e) { } try { if(conn != null){ conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } /* 输出结果为: Connecting to database... Creating statement... ID: 100, AGE: 28, FIRST: Max, LAST: Su ID: 101, AGE: 25, FIRST: Wei, LAST: Wang ID: 102, AGE: 30, FIRST: Xueyou, LAST: Zhang ID: 103, AGE: 28, FIRST: Jack, LAST: Ma */
- 需要注意的是,在java项目中得添加mysql-connector-java-5.1.40-bin.jar包。(下载地址为:
https://downloads.mysql.com/archives/c-j/)