手动封装一个简单JDBC工具类

一、为什么要封装Jdbc工具类

使用Jdbc连接数据库时,总会有一些代码是必不可少的,如加载驱动、获取连接、释放资源等。为了提高重用性,可以将他们封装在一个工具类中。

二、Jdbc工具类的功能
  • 1:properties配置文件 封装获取连接 释放资源 提高代码复用性√
  • 2:类加载时加载驱动√
  • 3:ThreadLocal控制事务
  • 4:连接池,提高资源利用率
  • 5:rowmapper封装 减少代码冗余
  • 6:template封装 减少dao层代码冗余
三、实现封装,JdbcUtil.java:

下面的代码仅实现前两种功能,剩余的功能会在以后的学习中实现,JdbcUtil.java:

package util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

/**
 * Jdbc工具类
 * 1:properties配置文件 封装获取连接 释放资源 提高代码复用性√
 * 2:类加载时加载驱动√
 * 3:ThreadLocal控制事务×
 * 4:连接池,提高资源利用率×
 * 5:rowmapper封装 减少代码冗余×
 * 6:template封装 减少dao层代码冗余×
 * @author 郭乾亮1998
 *
 */
public class JdbcUtil {
	//创建properties
	static Properties pro = new Properties();
	//加载驱动
	static{
		InputStream is = null;
		try {
			is = JdbcUtil.class.getResourceAsStream("/conf/db.properties");
			//加载文件
			pro.load(is);
			Class.forName(pro.getProperty("driverClassName"));
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			try {
				is.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	//获取连接
	public static Connection getConnection() throws Exception{
		String url = pro.getProperty("url");
		String user = pro.getProperty("username");
		String password = pro.getProperty("password");
		
		Connection conn = DriverManager.getConnection(url,user,password);
		return conn;
	}
	//释放资源
	public static void release(ResultSet rs,PreparedStatement pstm,Connection conn) throws Exception{
		if(rs!=null){
			rs.close();
		}
		if(pstm!=null){
			pstm.close();
		}
		if(conn!=null){
			conn.close();
		}
	}
}
conf文件夹中的properties文件如下设置:

在这里插入图片描述

三、封装测试,TestJdbcUtil类:
package jdbc;

import java.sql.Connection;

import util.JdbcUtil;

public class TestJdbcUtil {
	public static void main(String[] args) throws Exception {
		Connection conn = JdbcUtil.getConnection();
		System.out.println(conn);
		JdbcUtil.release(null, null, conn);
	}
}

在这里插入图片描述

发布了328 篇原创文章 · 获赞 798 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/weixin_43691058/article/details/103303150
今日推荐