【JAVA】JDBC连接数据库

Java数据库连接技术(Java  DataBase  Connectivity),能实现Java程序对各种数据库的访问

JDBC访问数据库步骤

  1. Class.forName()加载驱动.
  2. DriverManager获取Connection连接.
  3. 创建Statement执行SQL语句.
  4. 返回ResultSet查询结果.
  5. 释放资源.

JDBC编写(myeclipse)

将连接mysql的jar包放入WebRoot下的lib目录下,右键buile path

创建JdbcUtil类

public class JdbcUtil {

	public static Connection getConnection() throws ClassNotFoundException, SQLException{
		Class.forName("com.mysql.jdbc.Driver");
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/web09","root", "123456");
		return conn;
	}

	public static void CloseResource(Connection conn,PreparedStatement pst,ResultSet rs){
	try {
		CloseConn(conn);
		ClosePrepart(pst);
		CloseResultSet(rs);
	} catch (SQLException e) {
		e.printStackTrace();
	}
	}
	
	public static void CloseConn(Connection conn) throws SQLException{
		if (conn != null) {
			conn.close();
		}
		
	}
	
	public static void ClosePrepart(PreparedStatement pst) throws SQLException{

			if (pst != null) {
				pst.close();
			}
	}
	
	public static void CloseResultSet(ResultSet rs) throws SQLException{
		if (rs != null) {
			rs.close();
		}
		
	}

}

详细解析

获取连接的方法

public static Connection getConnection() throws ClassNotFoundException, SQLException{
		Class.forName("com.mysql.jdbc.Driver");
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/web09","root", "123456");
		return conn;
	}

接口 Connection
public interface Connection
与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
Connection 对象的数据库能够提供信息描述其表、所支持的 SQL 语法、存储过程和此连接的功能等。此信息是使用 getMetaData 方法获得的。

Class.forName("com.mysql.jdbc.Driver");

在com.mysql.jdbc.Driver类中有这么一段静态初始化代码:
static {
try {
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException(“Can’t register driver!”);
}
}
根据这段代码,发现在Class.forName加载完驱动类开始执行静态初始化代码时,会新建一个Driver的对象,并调用DriverManager.registerDriver把自己注册到DriverManager中去。

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/web09","root", "123456");

获取数据库连接语句,参数分别是url、user、password。

 

 

你可能感兴趣的:(JAVA)