jdbc使用Property封装类

在这里插入图片描述

mydriveClass=com.mysql.jdbc.Driver

myurl=jdbc:mysql://localhost:3306/db1

myuser=root

mypassword=root
package demo01;

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;

public class Utils {
//	public static String url = "jdbc:mysql://localhost:3306/db1";
//	public static String user = "root";
//	public static String password = "root";
	
	//一般情况下,如果有些代码需要在项目启动的时候就执行,这时候就需要静态代码块。
	//比如一个项目启动需要加载的很多配置文件等资源,我们就可以都放入静态代码块中。
	
	static Properties p=new Properties();
	static {	
//		try {
//			Class.forName("com.mysql.jdbc.Driver");
//		} catch (ClassNotFoundException e) {
//			e.printStackTrace();
//		}
		
		//ClassLoader loader = Thread.currentThread().getClass().getClassLoader();
		ClassLoader loader = Thread.currentThread().getContextClassLoader();
		InputStream inputStream = loader.getResourceAsStream("db.properties");
		
		
		try {
			p.load(inputStream);
			Class.forName(p.getProperty("mydriveClass"));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	
	
	public static Connection getConnection() {
		Connection con=null;
		
		try {
//			con = DriverManager.getConnection(Utils.url, Utils.user, Utils.password);
			con = DriverManager.getConnection(p.getProperty("myurl"), p.getProperty("myuser"), p.getProperty("mypassword"));

		} catch (Exception e) {
			e.printStackTrace();
		}
		return con;
		
	}
	
	public static Statement getStatement(Connection con) throws Exception {
		
		Statement statement=null;
		if(con!=null) {
		
		   statement = con.createStatement();
		}
		return statement;
		
	}
	
	
	public void close(ResultSet ret, Statement st,Connection con) throws Exception {
		if (ret != null) {
			ret.close();
		}
		if (st != null) {
			st.close();
		}
		if (con != null) {

			con.close();
		}
	}
	
	public static ResultSet getResultSet(String sql) throws Exception {
	
		Connection con = Utils.getConnection();
		Statement ste=Utils.getStatement(con);
		ResultSet resultSet = ste.executeQuery(sql);
		return resultSet;
		
	}
	
	
	//影响行数
	public static int addLineOrdeleteLineOrModifyLine(String sql) throws Exception {
		Connection con = Utils.getConnection();
		Statement ste=Utils.getStatement(con);
		int update = ste.executeUpdate(sql);
		//return ste.executeUpdate(sql);
		return update;
		
	}

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_669646

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值