JAVA之JDBC工具类-Mysql(简单版)

分享一下自己最近写的一个JDBC工具类吧,不对之处还请各位不吝赐教

在项目的目录下创建config文件夹,在里面新建文件保存jdbc的配置信息,这样做便于修改

jdbc.properties内容:

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

xianfeng就是对应数据库的名字
用户密码要改成自己的哦

在这里插入图片描述

在src下新建一个util包,分别对应三个类Config、jdbcTest、jdbcUtil。

Config用于读取配置文件的方法

package util;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class Config {
private Properties prop = new Properties();
	
	public Config(String file)
	{
		try
		{
			InputStream in = new FileInputStream(file);
			prop.load(in);
		} 
		catch (IOException e) 
		{
			e.printStackTrace();
		}
	}
	public String getValue(String key)
	{
		return prop.getProperty(key);
	}
}

jdbcUtil主要用于数据库方法的封装

package util;

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



public class JdbcUtils {
	
	private static String driverClass ;
	private static String url ;
	private static String user ;
	private static String password ;
	
	static{
		Config config = new Config("config/jdbc.properties");
		//读取配置信息
		driverClass = config.getValue("driver");
		url = config.getValue("url");
		user = config.getValue("user");
		password = config.getValue("password");
		
		/**
         * 驱动注册
         */
		try {
			Class.forName(driverClass);//注册加载驱动
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	
	/**
     * 获取 Connetion
     * @return
     * @throws SQLException
     */
	
	public static Connection getConnection() throws SQLException{
		Connection conn = DriverManager.getConnection(url, user, password);
		return conn;
	}
	
	/**
	 * 关闭ResultSet资源
	 * @param rs
	 */
	
	public static void close(ResultSet rs){
		if(null != rs){
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * 关闭Statement资源
	 * @param stmt
	 */
	
	public static void close(Statement stmt){
		if(null != stmt){
			try {
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * 关闭close资源
	 * @param conn
	 */
	public static void close(Connection conn){
		if(null != conn){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	/**
	 * 关闭资源
	 * @param rs
	 * @param stmt
	 * @param conn
	 */
	
	public static void close(ResultSet rs,Statement stmt,Connection conn){
		close(rs);
		close(stmt);
		close(conn);
	}
	
}

jdbcTest主要对工具类的测试

package util;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class jdbcTest {
	


	public static void main(String[] args) {
		Connection conn = null;
		PreparedStatement stmt = null;
		ResultSet rs = null;
		
		try {
			//获取连接
			conn = JdbcUtils.getConnection();
			//编写sql
			String sql = "select * from t_bingli";
			//创建语句执行者
			stmt = conn.prepareStatement(sql);
			rs = stmt.executeQuery();
			
			while(rs.next()) {
				//输出结果中的第一列和第二列
                System.out.println(rs.getString(1)+"+++"+rs.getString(2));
            }
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			JdbcUtils.close(rs, stmt, conn);
        }

	}

}

结果

对应到数据库的信息:

现在大概应该掌握了如何使用这个简单的jdbc工具类了吧,赶紧去试试吧

猜你喜欢

转载自blog.csdn.net/weixin_42404323/article/details/84801004
今日推荐