千家信息网

JDBC系列:(2.5)创建JDBCUtils工具类

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,1、建立db.properties文件url=jdbc:mysql://localhost:3306/testdbuser=rootpassword=rootdriverClass=com.mysql
千家信息网最后更新 2025年01月21日JDBC系列:(2.5)创建JDBCUtils工具类


1、建立db.properties文件

url=jdbc:mysql://localhost:3306/testdbuser=rootpassword=rootdriverClass=com.mysql.jdbc.Driver



2、JDBC工具类:JDBCUtil.java

package com.rk.db.utils;import java.io.IOException;import java.io.InputStream;import java.util.Properties;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * JDBC的工具类 * @author RK * */public class JDBCUtil{        private static final String url;        private static final String user;        private static final String password;        private static final String driverClass;                /**         * 静态代码块中(只加载一次)         */        static        {                               try                {                        //读取db.properties文件                        InputStream inStream = JDBCUtil.class.getClassLoader().getResourceAsStream("db.properties");                                                Properties props = new Properties();                        //加载文件                        props.load(inStream);                        //读取信息                        url = props.getProperty("url");                        user = props.getProperty("user");                        password = props.getProperty("password");                        driverClass = props.getProperty("driverClass");                                                //注册驱动程序                        Class.forName(driverClass);                }                catch (IOException e)                {                        System.out.println("读取数据库配置文件出错");                        throw new RuntimeException(e);                }                catch (ClassNotFoundException e)                {                        System.out.println("数据库驱程程序注册出错");                        throw new RuntimeException(e);                }        }                /**         * 获取数据库的连接         * @return 数据库连接         */        public static Connection getConnection()        {                try                {                        return DriverManager.getConnection(url,user,password);                }                catch (SQLException e)                {                        System.out.println("获取数据库连接出错");                        throw new RuntimeException(e);                }                       }                /**         * 关闭Connection、Statement和ResultSet         * @param conn 数据库连接         * @param stmt   执行SQL语句的命令         * @param rs 结果集         */        public static void close(Connection conn,Statement stmt,ResultSet rs)        {                closeQuietly(rs);                closeQuietly(stmt);                closeQuietly(conn);        }                /**         * 安静的关闭数据库资源         * @param ac 实现了AutoCloseable接口的对象         */        public static void closeQuietly(AutoCloseable ac)        {                if(ac != null)                {                        try                        {                                ac.close();                        }                        catch (Exception e)                        {                                e.printStackTrace();                        }                }        }}




0