java中封装JDBC工具类的实例分析

网友投稿 257 2022-11-01


java中封装JDBC工具类的实例分析

对于能够重复使用的代码,我们最好的方法是对它们进行封装,然后在下次使用的使用就可以直接调用了。本篇所要提到的是JDBC工具类,相信大家在学习java时都接触过。那么对于封装它的方法,本篇先对工具类进行简单的说明,列出有关的封装步骤,然后带来相关的实例。

1、说明

在java开发过程中,代码中时常用到一些Scanner、Random一样的类,他们是键盘录入,生成随机数的类,像一个工具一样,在java中被称为工具类。

2、步骤

封装GUCfmOsHDJDBC工具类

加入获取数据库连接对象的方法

加入释放连接的方法

3、实例

package com.qianfeng.util;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

/**

* JDBC工具类

* 有获取连接的方法

* @author dushine

*/

public class JDBCUtil {

/**

* 获取数据库连接的方法

* @return Connection conn

* @throws SQLException

*/

public static Connection getConnection() throws SQLException {

String url = "jdbc:mysql://localhost:3306/class?useSSL=false";

String user = "root";

String password = "root";

Connection conn = DriverManager.getConnection(url,user,password);

return conn;

}

/**

* 释放连接的方法

* @param conn

* @throws SQLException

*/

public static void releaseSourse(Connection conn) throws SQLException {

if (conn != null) {

conn.close();

}

}

/**

* 释放连接的方法

* @param conn 数据库连接对象

* @param stmt 执行SQL语句的对象

* @throws SQLException

*/

public static void releaseSourse(Connection conn,Statement stmt) throws SQLException {

if (stmt != null) {

stmt.close();

}

if (conn != null) {

conn.close();

}

}

/**

* 释放连接的方法

* @param conn 数据库连接对象

* @param stmt 执行SQL语句的对象

* @param resultSet 执行SQL语句的返回的结果集

* @throws SQLException

*/

public static void releaseSourse(Connection conn,Statement stmt,ResultSet resultSet) throws SQLException {

if (resultSet != null) {

resultSet.close();

}

if (stmt != null) {

stmt.close();

}

if (conn != null) {

conn.close();

}

}

}

实例扩展:

public class JDBCUtil {

//连接对象

private Connection connection = null;

//数据库操作对象

private PreparedStatement ps = null;

//数据库连接地址

private static String url = "jdbc:mysql://localhost:3306/";

//用户名

private static String user = "root";

//密码

private static String password = "123456";

//静态代码块 注册驱动

//类加载的时候,只执行一次

static{

try {

Class.forName("com.mysql.jdbc.Driver");

GUCfmOsHD } catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

//获取连接对象

public Connection getConnection(){

//Connection conn = null;

try {

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

} catch (SQLException e) {

e.printStackTrace();

System.out.println("数据库连接失败....");

}

System.out.println("数据库连接成功...");

return connection;

}

//获取数据库操作对象

public PreparedStatement createPreparedStatement(String sql){

connection = getConnection();

try {

ps = connection.prepareStatement(sql);

} catch (SQLException e) {

e.printStackTrace();

}

return ps;

}

//释放资源

public void close(){

//释放连接对象

if (connection != null) {

try {

connection.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

//释放数据库操作对象

if (ps != null) {

try {

ps.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

System.out.println("释放资源成功...");

}

//方法的重载

public void close(ResultSet reuslt){

// 调用释放资源的方法

close();

// 释放查询结果集对象

if (reuslt != null) {

try {

reuslt.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CodeForces - 841B Godsend——思路题
下一篇:HDU 2602 Bone Collector——01背包
相关文章

 发表评论

暂时没有评论,来抢沙发吧~