Java之JDBC 通过加载properties文件来的两种方式来连接数据库

有任何问题加群讨论,还可以领取精美学习资料噢~

群号:733899823

加群时请备注CSDN~

工程目录结构如下:

测试类-JDBC_03.java:

package com.xiao.jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
import com.xiao.utils.JDBCUtils_02;
import com.xiao.utils.JDBCUtils_03;
/**
 * @author 笑笑
 * @Date   2018年3月15日下午2:42:15
 *	
 */
//通过加载properties文件来连接数据库的两种方式测试
public class JDBC_03 {
	//通过加载properties文件来连接数据库的方式一  测试
	@Test
	public void test_01() throws Exception{
		//1.使用工具类JDBCUtils_02注册并获取连接
		Connection cn = JDBCUtils_02.getConnection();
		//2.书写SQL语句
		String sql = "select * from user_tb";
		//3.获取SQL语句预编译对象
		PreparedStatement ps = cn.prepareStatement(sql);
		//4.执行SQL语句
		ResultSet rs = ps.executeQuery();
		//5.处理结果集
		while(rs.next()){
			System.out.println(rs.getInt("uid")+"  "+rs.getString("username"));
		}
		//6.释放资源
		JDBCUtils_02.relase(cn, ps, rs);
	}
	//通过加载properties文件来连接数据库的方式二  测试
	@Test
	public void test_02() throws Exception{
		//1.使用工具类JDBCUtils_03注册并获取连接
		Connection cn = JDBCUtils_03.getConnection();
		//2.书写SQL语句
		String sql = "select * from user_tb";
		//3.获取SQL语句预编译对象
		PreparedStatement ps = cn.prepareStatement(sql);
		//4.执行SQL语句
		ResultSet rs = ps.executeQuery();
		//5.处理结果集
		while(rs.next()){
			System.out.println(rs.getInt("uid")+"  "+rs.getString("username"));
		}
		//6.释放资源
		JDBCUtils_02.relase(cn, ps, rs);
	}
}

工具类-JDBCUtils_02.java:

package com.xiao.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ResourceBundle;
/**
 * @author 笑笑
 * @Date   2018年3月15日下午2:38:39
 *	
 */
//通过加载properties文件来连接数据库的方式一
public class JDBCUtils_02 {
	private static String driver;
	private static String url;
	private static String username;
	private static String password;
	/**
	 * 静态代码块加载配置文件信息
	 */
	static{
		ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
		driver = bundle.getString("driver");
		url = bundle.getString("url");
		username = bundle.getString("username");
		password = bundle.getString("password");
	}
	//注册并获取数据库连接
	public static Connection getConnection() throws Exception{
		//1.注册驱动
		Class.forName(driver);
		//2.获取数据库连接
		Connection cn =  DriverManager.getConnection(url, username, password);
		return cn;
	}
	//释放资源
	public static void relase(Connection cn,Statement st,ResultSet rs) throws Exception{
		if(rs!=null){									    
			rs.close();
		}
		if(st!=null){
			st.close();
		}
		if(cn!=null){
			cn.close();
		}			
	}

}

工具类-JDBCUtils_03.java:

package com.xiao.utils;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
/**
 * @author 笑笑
 * @Date   2018年3月15日下午2:38:39
 *	
 */
//通过加载properties文件来连接数据库的方式二
public class JDBCUtils_03 {
	private static String driver;
	private static String url;
	private static String username;
	private static String password;
	/**
	 * 静态代码块加载配置文件信息
	 */
	static {
		try {
			// 1.通过当前类获取类加载器
			ClassLoader classLoader = JDBCUtils_03.class.getClassLoader();
			// 2.通过类加载器的方法获得一个输入流
			InputStream in = classLoader.getResourceAsStream("jdbc.properties");
			// 3.创建一个properties对象(集合)
			Properties props = new Properties();
			// 4.加载输入流
			props.load(in);
			// 5.获取相关参数的值
			driver = props.getProperty("driver");
			url = props.getProperty("url");
			username = props.getProperty("username");
			password = props.getProperty("password");
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
	//注册并获取数据库连接
	public static Connection getConnection() throws Exception{
		//1.注册驱动
		Class.forName(driver);
		//2.获取数据库连接
		Connection cn =  DriverManager.getConnection(url, username, password);
		return cn;
	}
	//释放资源
	public static void relase(Connection cn,Statement st,ResultSet rs) throws Exception{
		if(rs!=null){									    
			rs.close();
		}
		if(st!=null){
			st.close();
		}
		if(cn!=null){
			cn.close();
		}			
	}

}

properties文件:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/all_db?useUnicode=true&characterEncoding=utf8
username=root
password=root

 

 

 

 

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值