每次,为了创建数据库连接对象都很麻烦,要写一大串语句,为了简化操作,所以写个工具类.
其中包含创建数据库连接对象的方法和释放资源的方法.
package JDBCUtil;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/*
* 实现JDBC的工具类,方便简化
* 定义方法:要求直接返回数据库的连接对象
*
* 方法:释放资源
*/
public class JDBCUtils {
// 构造器私有
private JDBCUtils() {
}
private static Connection con;
static {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mybase";
con = DriverManager.getConnection(url, "root", "root");
} catch (Exception ex) {
throw new RuntimeException(ex + "数据库连接失败");
}
}
// 定义静态方法,返回数据库的连接对象
public static Connection getconnConnection() {
return con;
}
// 定义方法,释放资源
public static void close(Connection con, Statement stat) {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
}
}
if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
}
}
}
}
测试
package demo3;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import JDBCUtil.JDBCUtils;
/*
* 用来测试写的工具类
*/
public class TestUtils {
public static void main(String[] args) throws SQLException {
// 使用工具类直接创建数据库连接对象,简化操作
Connection con = JDBCUtils.getconnConnection();
String sql = "SELECT * FROM `sort`;";
// 调用数据库连接对象con的方法PreparedStatement获取sql语句的预编译对象
PreparedStatement pst = con.prepareStatement(sql);
// 调用pst对象的方法,返回结果集
ResultSet rs = pst.executeQuery();
// 遍历结果集
while (rs.next()) {
System.out.println(rs.getString("id") + " " + rs.getString("name")
+ " " + rs.getString("sprice") + " "
+ rs.getString("sdesc"));
}
// 再调用写的工具类直接释放资源
JDBCUtils.close(con, pst);
}
}
四五行代码变成一行代码,方便很多,