import java.io.FileNotFoundException; import java.io.FileReader; import
java.io.IOException; import java.sql.Connection; import java.sql.DriverManager;
import java.sql.ResultSet; import java.sql.SQLException; import
java.sql.Statement; import java.util.Properties; /* * 创建JDBC工具类 *
定义一个properties文件,存储数据库的4大信息 * 在成员位置定义5个存储数据库信息的变量 * 定义一个静态代码块 *
a.使用Properties集合+IO读取配置文件中的信息,把信息保存到集合中 * b.获取集合中的数据库连接信息,给成员变量赋值 *
c.注册驱动和获取数据库连接对象 * 定义一个静态方法,用于获取并返回数据库连接对象Connection * 定义一个静态方法,用于释放资源 */
public class JDBCUtils { /** * 在成员位置定义5个存储数据库信息的变量 */ private static String
driver; private static String url; private static String user; private static
String password; /** * 定义一个Connection类型的变量用来存储获取到的Connection实例化对象 */ private
static Connection conn; /** * 私有构造方法,防止用户创建对象,浪费内存空间 */ private JDBCUtils() { }
static { try { /** * 使用properties集合读取配置信息 */ FileReader fr = new
FileReader("data.properties"); Properties p = new Properties(); p.load(fr); /**
* 获取集合中的数据库连接信息,给成员变量赋值 */ driver = p.getProperty("driver"); url =
p.getProperty("url"); user = p.getProperty("user"); password =
p.getProperty("password"); } catch (FileNotFoundException e) {
e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } /** *
创建驱动和数据库连接对象 */ try { Class.forName(driver); conn =
DriverManager.getConnection(url, user, password); } catch
(ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) {
e.printStackTrace(); /** * 如果数据库连接失败,则不应该继续往下,抛出运行时异常给虚拟机,终止程序 */ throw new
RuntimeException("数据库连接失败!"); } } /** * 定义一个静态方法,用于获取数据库连接对象Connection */
public static Connection getConnection() { return conn; } /** * 定义一个静态方法,用于释放资源
*/ public static void close(ResultSet rs, Statement stat, Connection conn) { if
(rs != null) { try { rs.close(); } catch (SQLException e) {
e.printStackTrace(); } } if (stat != null) { try { stat.close(); } catch
(SQLException e) { e.printStackTrace(); } } if (conn != null) { try {
conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }




import java.sql.Connection; import java.sql.ResultSet; import
java.sql.Statement; /* * 测试JDBCUtils工具类 */ public class Test { public static
void main(String[] args) { show(); } private static void show() { /** *
获取数据库连接对象Connection */ Connection conn = JDBCUtils.getConnection(); Statement
stat = null; ResultSet rs = null; try { /** * 获取执行sql语句的执行者对象 */ stat =
conn.createStatement(); /** * 执行sql语句 */ String sql = "SELECT * FROM 表名"; rs =
stat.executeQuery(sql); /** * 处理结果集,遍历Set集合 */ if (rs.next()) {
System.out.println(rs.getInt("cid") + "\t" + rs.getString("cname")); } else {
System.out.println("没有查询到指定的数据!"); } } catch (Exception e) {
e.printStackTrace(); } finally { /** * 使用JDBCUtilsConfig工具类中的方法close释放资源 */
JDBCUtils.close(rs, stat, conn); } } }

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信