一个简单封装类DBUtil

本文介绍了一个用于连接和操作SQL Server数据库的Java实用工具类。该工具使用JDBC来建立与数据库的连接,并提供了获取Statement和PreparedStatement的方法。此外,还实现了资源释放功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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

public class DBUtil {

private static Connection con = null;
private Statement statement;
private PreparedStatement preparedStatement;

public static final String URL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=mydb;SelectMethod=cursor";
public static final String DRIVERNAME = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private final static String USERNAME = "sa";
private final static String PASSWORD = "";

private DBUtil() {
con = getConnection();
}

public static synchronized DBUtil getDBInstance() {
return new DBUtil();
}

public static synchronized Connection getConnection() {

// 直接连接数据库

try {
Class.forName(DRIVERNAME).newInstance();
con = DriverManager.getConnection(URL, USERNAME, PASSWORD);
con.setAutoCommit(true);
} catch (Exception ex) {
System.out.println("数据库加载失败!");
}

return con;
}

public Statement getStatement() {
try {
con = getConnection();
statement = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
} catch (Exception e) {
System.out.println("getStatement Exception");
System.out.println(e.getMessage());
}
return statement;
}

public PreparedStatement getPreparedStatement(String sql) {
try {
con = getConnection();
preparedStatement = con.prepareStatement(sql);
} catch (Exception e) {
System.out.println("getPstmt");
System.out.println(e.getMessage());
}
return preparedStatement;
}

// 关闭数据库

public void closeConnection() {
// System.out.println("---------------开始关闭数据库连接------------------");
try {
if (statement != null)
statement.close();
} catch (Exception e) {
System.err.println("statement关闭出现异常!");
}
try {
if (preparedStatement != null)
preparedStatement.close();
} catch (Exception e) {
System.err.println("preparedStatement关闭出现异常!");
}
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
con = null;
}
}
// System.out.println("----------------关闭数据库连接成功!---------------------");
}
public static void main(String[] args) {
new DBUtil();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值