日期:2014-05-16  浏览次数:20313 次

JDBC 连接

分享一下,以前的JDBC 连接工具:

?

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
 * 常用的 properties 工具类
 * @author Administrator
 *
 */
public class PropertieUtil {
	private static Properties	pro =  null;
	
	public static Properties getProperties(){
		return pro = pro == null?new Properties():pro;
	}
	// 默认在src 下的配置文件
	public static String filePath = "src/test.properties";
	// 文件加载
	static{
		readFile(filePath);
	}
	// 可以更改文件路径
	public static void setFilePaht(String filePath){
		PropertieUtil.filePath = filePath;
		readFile(filePath);
	}
	// 加载类容
	public static void readFile(String filePath){
		try {
			InputStream in = new BufferedInputStream (new FileInputStream(filePath));
			getProperties().load(in);
		}  catch (IOException e) {
			e.printStackTrace();
		}
	}
	// 获得键值对元素,可以添加其他方法
	public static String getPro(String key){
		return  String.valueOf(getProperties().get(key));
	}
	// 测试
	public static void main(String[] args) {
		System.out.println(getPro("jdbc.driver"));
	}
	
}

?

?

?

test.properties 文件内容,这里以mysql ?1.0.5做测试

?

#Connection info
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/test?rewriteBatchedStatements=false
jdbc.username = root
jdbc.password = root

?

?

获得连接的类

?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.common.PropertieUtil;
/**
 * 获得连接的类
 * @author Administrator
 *
 */
public class ConnectionUtil {
	// 连接参数
	private static String JDBC_DRIVER;
	private static String JDBC_URL;
	private static String JDBC_USERNAME;
	private static String JDBC_PASSWORD;
	private static Connection conn;
	
	static{
		JDBC_DRIVER = PropertieUtil.getPro("jdbc.driver");
		JDBC_URL = PropertieUtil.getPro("jdbc.url");
		JDBC_USERNAME = PropertieUtil.getPro("jdbc.username");
		JDBC_PASSWORD = PropertieUtil.getPro("jdbc.password");
	}
	
	/**
	 * 装载连接
	 * @return
	 */
	private static Connection loadConnection(){
		try {
			Class.forName(JDBC_DRIVER);
			conn = DriverManager.getConnection(JDBC_URL, JDBC_USERNAME,JDBC_PASSWORD);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	
	/**
	 * 获得连接
	 * @return
	 */
	public static Connection getConnection(){
		if(conn == null){
			return loadConnection();
		}
		return conn;
	}
	/**
	 * 关闭连接
	 */
	public static void colse(Connection conn){
		if(conn != null){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * 回滚
	 */
	public static void rollback(Connection conn){
		if(conn != null){
			try {
				conn.rollback();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	/**
	 * 提交
	 */
	public static void commit(Connection conn){
		if(conn !=null){
			try {
				conn.commit();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	/**
	 * 测试
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println(getConnection());
	}
}

?

?

?

1 楼 空云万里晴 前天  
不好意思,点错了,
2 楼 空云万里晴 前天  
本来是顶的
3 楼 woodbrick 前天  
谢谢分享,俺挑个错
第一段第24行:
public static void setFilePaht(String filePath){

貌似是setFilePath吧
4 楼 cuisuqiang 前天