JDBC工具类-----创建和读取properties——之简单升级

首先在src目录下创建一个文件夹
命名为jdbc.propertis
在里面 添加如下信息
在这里插入图片描述
再在JDBCUtil.java里面创建一个静态代码块,里面用来读取properties配置文件
在这里插入图片描述
JDBCUtil.java代码

package com.cxp.jdbc.util;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import com.sun.xml.internal.fastinfoset.sax.Properties;

/**
 * JDBC工具类
 * 
 * @date 2019/07/
 * @author 陈喜平
 * @email [email protected]
 * @TODU
 *
 */
public class JDBCUtil {
	static String driverClass = null;
	static String url = null;
	static String name = null;
	static String password = null;
	/**
	 * 静态代码块
	 */
	static {
//		创建属性配置对象
		try {
			java.util.Properties properties = new java.util.Properties();
			InputStream inStream = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
//		导入输入流
			properties.load(inStream);
			
//		读取属性
			driverClass = properties.getProperty("driverClass");
			url = properties.getProperty("url");
			name = properties.getProperty("name");
			password = properties.getProperty("password");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	/**
	 * 获取连接对象
	 * @return
	 */
//	连接对象
	public static Connection getConn() {
		Connection cn = null;
		try {
			
			Class.forName(driverClass);
			//		创建连接
			cn = (Connection) DriverManager.getConnection(url, name , password);
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return cn;
	}
	
	/**
	 * 释放资源
	 * @param cn
	 * @param st
	 * @param rs
	 */
//	释放资源方法
	public static void release(Connection cn,Statement st,ResultSet rs) {
		closeRs(rs);
		closeSt(st);
		closeCn(cn);
	}

	private static void closeRs(ResultSet rs) {
		try {
			if (rs != null) {
				rs.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			rs = null;
		}
	}

	private static void closeSt(Statement st) {
		try {
			if (st != null) {
				st.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			st = null;
		}
	}

	private static void closeCn(Connection cn) {
		try {
			if (cn != null) {
				cn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			cn = null;
		}
	}
}

jdbc.properties内容

driverClass=com.mysql.jdbc.Driver
url = jdbc:mysql://localhost/jdbcdemo
name = 你的数据库用户名
password = 你的密码

MainTest.java文件

package com.cxp.jdbc.test;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.cxp.jdbc.util.JDBCUtil;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Driver;
import com.mysql.jdbc.Statement;

public class MainTest {

	public static void main(String[] args) {
		Connection cn = null;
		Statement st = null;
		ResultSet rs = null;
		try {
//			注册驱动
//			DriverManager.registerDriver(new Driver());
//			Class.forName("com.mysql.jdbc.Driver");
			创建连接
//			cn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/jdbcdemo", "root", "771003");
			
			cn = JDBCUtil.getConn();//注册驱动工具包调用方法
			
//			创建statement
			st = (Statement) cn.createStatement();
//			结果集
			String sql = "select * from user_table";
			rs = st.executeQuery(sql);
			while(rs.next()) {
				int id = rs.getInt("userid");
				String name = rs.getString("username");
				String sex = rs.getString("sex");
				int age = rs.getInt("age");
				System.out.println("id="+id+",name="+name+",sex="+sex+",age="+age);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			JDBCUtil.release(cn, st, rs);
		}
	}

}

猜你喜欢

转载自blog.csdn.net/qq_41518597/article/details/100099301