java连接数据库不用加载驱动_简单实现JDBC自动加载驱动,简化数据连接和关闭数据库连接...

package util;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.sql.*;

import java.util.Properties;

/**

* 较为繁琐并且存在【通用性代码】

* 1. 数据库连接的过程

* 驱动加载,必要参数和获取数据库连接

* 2. 数据库操作使用的资源关闭问题

*

* JDBCUtil这个工具类能够给我们提供什么便利

* 1. 自动加载驱动,预处理所有的必要参数

* 2. 简化获取数据库连接的方法,改为getConnection();

* 3. 简化关闭数据库连接使用的资源,改为统一的close方法

* 4. 所有的方法都是通过类名直接调用,摆脱类对象约束,使用static修饰的静态成员方法

*

* @author Anonymous

*/

public class JdbcUtil {

// 数据库连接所需的必要条件

private static String url = null;

private static String user = null;

private static String password = null;

// 使用静态代码块完成自动加载,辅助程序运行的必要参数

static {

try {

// 1. 准备当前db.properties输入字节流对象

FileInputStream fis = new FileInputStream(new File("./src/db.properties"));

// 2. 获取一个Properties类对象

Properties properties = new Properties();

// 3. 使用load方法,获取db.properties文件内容到Properties类对象

properties.load(fis);

// 4. 通过Properties类对象,获取对应的属性

url = properties.getProperty("url");

user = properties.getProperty("user");

password = properties.getProperty("password");

Class.forName(properties.getProperty("driverClass"));

} catch (IOException | ClassNotFoundException e) {

e.printStackTrace();

}

}

/**

* 静态成员方法,获取对应数据库的java.sql.Connection连接对象

*

* @return java.sql.Connection 数据库连接对象,如果发生意外返回null

*/

public static Connection getConnection() {

Connection connection = null;

try {

connection = DriverManager.getConnection(url, user, password);

} catch (SQLException e) {

e.printStackTrace();

}

return connection;

}

/**

* 关闭数据库Connection连接对象

*

* @param connection java.sql.Connection 数据库连接对象

*/

public static void close(Connection connection) {

close(connection, null, null);

}

/**

* 关闭数据库Connection连接对象,以及Statement数据库SQL语句搬运工对象

*

* @param connection java.sql.Connection 数据库连接对象

* @param statement java.sql.Statement 数据库SQL语句搬运工对象

*/

public static void close(Connection connection, Statement statement) {

close(connection, statement, null);

}

/**

* 关闭数据库Connection连接对象,Statement数据库SQL语句搬运工对象以及查询结果集对象ResultSet

*

* @param connection java.sql.Connection 数据库连接对象

* @param statement java.sql.Statement 数据库SQL语句搬运工对象

* @param resultSet java.sql.ResultSet 查询结果集类对象

*/

public static void close(Connection connection, Statement statement, ResultSet resultSet) {

try {

if (resultSet != null) {

resultSet.close();

}

if (statement != null) {

statement.close();

}

if (connection != null) {

connection.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值