Java数据库连接技术(Java DataBase Connectivity),能实现Java程序对各种数据库的访问
JDBC访问数据库步骤
- Class.forName()加载驱动.
- DriverManager获取Connection连接.
- 创建Statement执行SQL语句.
- 返回ResultSet查询结果.
- 释放资源.
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。