写出一个用JDBC访问数据库的实例

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



你可能感兴趣的:(JDBC)