一、JDBC简介 ? ? ? ?
?
? ? ? ? JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。
二、实例
package org.hj.util.jdbc;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* JDBC工具类:关闭流和取得连接
* @author DingJie
* @date 2014-5-3
* @email dingjie_nlp@126.com
*/
public final class JdbcUtil {
private static String driver;
private static String url;
private static String user;
private static String password;
private static Connection conn;
//静态块:加载文件
static{
Properties props = new Properties();
InputStream is = JdbcUtil.class.getClassLoader().getResourceAsStream("org/hj/config/jdbc/db.properties");
try {
props.load(is);
} catch (Exception e) {
e.printStackTrace();
}
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
password = props.getProperty("password");
}
//静态块:注册驱动
static{
try {
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 每个线程获取一个唯一jdbc连接
* @return
*/
public static Connection getMySqlConnection() {
if(conn == null) {
synchronized (JdbcUtil.class) {
if(conn == null) {
try {
conn = DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
return conn;
}
/**
* 关闭结果集
* @param rs
*/
public static void close(ResultSet rs){
if(rs!=null){
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 关闭SQL语句声明
* @param stmt
*/
public static void close(Statement stmt){
if(stmt!=null){
try {
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 关闭数据库连接
* @param conn
*/
public static void close(Connection conn){
if(conn!=null){
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
?
这里有两个连续的Dao操作: