4、在MyJDBCUtils中加入Properties保存数据库的配置信息

1、为了程序更好的解耦合,在MyJDBCUtils中加入Properties保存数据库的配置信息.

2、db.properties文件的内容如下

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/testdatabase
username=root
password=1234
3、MyJDBCUtils的代码如下

package com.jdbc.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class MyJDBCUtils {
	// 为了程序的更好的解耦合,利用Properties文件保存连接Mysql的配置文件
	private static Properties config = new Properties();
	static {
		try {
			config.load(MyJDBCUtils.class.getClassLoader().getResourceAsStream(
					"db.properties"));
			Class.forName(config.getProperty("driver"));
		} catch (Exception e) {
			throw new ExceptionInInitializerError(e);
		}
	}

	public static Connection getConnection() {
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(config.getProperty("url"),
					config.getProperty("username"),
					config.getProperty("password"));
		} catch (SQLException e) {
			throw new RuntimeException("获取连接Mysql数据库连接失败");
		}
		return conn;
	}

	public static void release(Connection conn, Statement st, ResultSet rs) {

		if (rs != null) {
			try {
				rs.close();
			} catch (Exception e) {
				throw new RuntimeException("ResultSet关闭异常");
			}
			rs = null;
		}
		if (st != null) {
			try {
				st.close();
			} catch (Exception e) {
				throw new RuntimeException("Statement关闭异常");
			}
			st = null;
		}
		if (conn != null) {
			try {
				conn.close();
			} catch (Exception e) {
				throw new RuntimeException("Connection关闭异常");
			}
			conn = null;
		}

	}

}

4、利用MyJDBCUtils连接数据库的代码如下

package com.jdbc.utils;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import org.junit.Test;

public class TestMyJDBCUtils {

	@Test
	public void testMyJDBCUtils() {
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		try {
			conn = MyJDBCUtils.getConnection();
			st = conn.createStatement();
			rs = st.executeQuery("select * from user  ");

			while (rs.next()) {
				int id = rs.getInt(rs.findColumn("id"));
				String uname = rs.getString(rs.findColumn("uname"));
				int age = rs.getInt(rs.findColumn("age"));
				// 遍历输出
				System.out.println("id " + id + " " + "uname " + uname + " "
						+ "age " + age + " ");
			}
			
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
}
}
 
 




你可能感兴趣的:(jdbc,自定义数据库配置文件,jdbc连接mysql数据库)