-  在使用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

-  或者可以选择从服务中启动:

JDBC编程专题3之JDBC环境设置和JDBC简单示例代码_JDBC简单示例代码


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/)