java连接数据库(java DataBase
Connectivity,JDBC)用于在Java程序中实现数据库操作功能,它提供了执行SQL语句、访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包含了JDBC操作数据库的所有类。通过JDBC访问数据库一般有如下几个步骤:

(1)
加载JDBC驱动器。将数据库的JDBC驱动器加载到classpath中,在基于JaEE的Web应用开发过程中,通常要把目标数据库产品的JDBC驱动复制到WEB-INF/lib下。

(2) 加载JDBC驱动,并将其注册到DriverManger中。一般使用反射Class.forname(String drivername)。

(3)
建立数据库连接,取得Connection对象。一般通过DriverManger.getConnection(url,username,password)方法实现,其中,url表示链接数据库的字符串,username表示连接数据库的用户名,password表示连接数据库的密码。

(4) 建立Statement对象或是PreparedStatement对象。

(5) 执行Sql语句。

(6) 访问结果集ResultSet对象。

(7)
依次将ResultSet、Statement、PreparedStatement、Connection对象关闭,释放掉所占的资源,例如rs.close(),con.close()等。
为什么要这么做呢?原因在于JDBC驱动在底层通常都是通过网络IO实现SQL命令与数据库传输。

常见笔试题:

1、举出一个用JDBC访问MySql的例子。

首先,创建Employee表。
creat table Employee( id int primary key, name varchar(20), age int );
其次,创建一个示例程序,如下所示:
import java sql.*; public class Test{ public static void main(String[] args)
throws Exception{ //驱动器名 String driver="com.mysql.jdbc.Driver";
//url指向要访问的数据库名Test String url="jdbc:mysql://localhost:3306/Test"; /*String
url="jdbc:mysql://licalhost:3306/Test?user=root & password=123456 &
useUnicode=true & characterEncoding=UTF-8" */ //mysql配置时的用户名 String
user="root"; //mysql配置时的密码 String password="123456"; try{ //加载驱动程序
Class.forname(driver); //连接数据库 Connection
conn=DriverManger.getConnection(url,user,password); //用Statement来执行Sql语句
Statement stmt=conn.createStatement(); //执行插入语句 stmt.execute("insert into
Employee values(1,'zhangsan',23)"); stmt.execute("insert into Employee
values(2,'lisi',25)"); //定义结果集rs,并将将查询结果放入结果集中 ResultSet
rs=stmt.executeQuery("select * from Employee"); //输出结果集中的数据 while(rs.next()){
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3)); }
}catch(SQLException e1){ e1.printStackTrace(); }finally{ try{ if(rs!=null){
rs.close(); } if(stmt!=null){ stmt.close(); } if(conn!=null){ conn.close(); }
}catch(SQLException e){ System.out.println(e.getMessage()); } } } }
2、JDBC的主要功能有:

a) 创建与数据库的连接

b)发送SQL语句到数据库中

c)处理数据并查询结果

3、提供Java存取数据库能力的包为:java.sql