数据库工具类

数据库工具类

通过学习我们知道,连接一个数据库很麻烦,代码很多,而且像注册驱动这些代码我们在项目的启动后只需要执行一次。所以我们能不能写一个数据库连接的工具类嘞?

**
 * @program: Dream
 * @description: 数据库工具类
 * @author: stop.yc
 * @create: 2022-03-18 10:57
 **/
public class DbUtil {
    private static String driver = null;
    private static String url = null;
    private static String username = null;
    private static String password = null;

    /*配置信息,程序运行后,只要一次,就不会改变了,然后驱动加载也只需要一次,那么就是用静态代码块,程序运行后,运行一次*/
    static {
        try {
            //通过字节输入流,获取文件中的配置信息.
            InputStream in = DbUtil.class.getClassLoader().getResourceAsStream("db.properties");
            //文件加载
            Properties properties = new Properties();
            properties.load(in);
            //获取
            driver = properties.getProperty("driver");
            url = properties.getProperty("url");
            username = properties.getProperty("username");
            password = properties.getProperty("password");
            //加载驱动(如果在这里出现NPE的话,看看是不是没有导入连接jar包)
            Class.forName(driver);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //外部调用获取连接方法,被CRUD工具类调用
    public static Connection getCon() throws Exception {
        return DriverManager.getConnection(url,username,password);
    }

    //外部调用关闭方法.被CRUD工具类调用
    public static  void close(Connection con,PreparedStatement ps,ResultSet rs)  {
        if(rs!=null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
       if(ps!=null) {
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(con!=null) {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}



//包同级目录下,新建一个文件,db.properties,内容如下:
driver=com.mysql.jdbc.Driver
#db——dream为你的项目名称
url=jdbc:mysql://localhost:3306/db_dream?useUnicode=true&characterEncoding=utf8&useSSL=false
#数据库的账号密码
username=username
password=password
    
    
    

关于CRUD工具类,就请到另一篇文章看看,顺便学习一下CRUD的封装CRUD封装


AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年

本文来自一日成建站教程网https://www.yiricheng.cn/),为广大编程爱好者提供零基础快速搭建博客网站的方法,分享计算机网络、HTML、CSS、JavaScript、PHP、响应式设计以及Python自动化办公的博客文章,另有各类小工具、电子书、免费教程。 版权声明:本文知识版权归原作者所有,该文观点仅代表作者本人。本站仅提供信息存储空间服务,非用于商业用途,不拥有所有权,未对原文做任何修改,不承担相关法律责任,仅用于知识分享。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。 原文链接:https://segmentfault.com/a/1190000041790518

相关阅读  win server 部署前后端分离项目(springboot + vue + android)