Jdbc数据库的连接工具类

1. 开篇简述

嗨,大家好!!!
在熬过了,有差不多一周多吧,小编最近不知道分享点什么好,这两天,琢磨琢磨,就想给大家分享一下,关于数据库怎么连接上我们的java代码的说直白点,就是我们怎么用java代码来对数据库进行操作。这里,在我的这个账号里边应该会有JDBC的连接,大家可以下载,不过这个需要钱,当然,小编也给大家提供了白嫖的方法:关注:旺哥学习便利店,回复“MySQL数据库5.0版本”,你就会白嫖成功了

2. 驱动导包

你想要在java里边,使用MySQL数据库,你就必须先导入对应数据库的jar包,这里小编以MySQL5.5版本为例。
首先,我们需要创建一个文件夹,按照下图即可
在这里插入图片描述
其次,就是我们需要把我们导入的jar包,加入到我们的项目中
在这里插入图片描述
这样,我们就完成了,开始的第一步。

3. 注意事项

为什么,这里特别的把这个注意事项拿出来呢,因为我把加到第二部分末尾,大家可能不太能注意到,但是这个有很重要,它关乎到你,能不能成功完成第一步,下边大家注意看了:
你导入的一定是jar,不是zip的压缩包。如果你导入的是zip的压缩包,你就找不到Add as library这个选项。
一定注意!一定注意!一定注意!

4. 代码实现

这里给大家一个,JDBC连接的一个工具类吧。是我对连接数据库连接做了一个工具类,以后直接调用方法就行。

public class JdbcUtils {
    
    
    //可以把几个字符串定义成常量:用户名,密码,URL,驱动类
    private static final String USER = "root";
    private static final String PWD = "root";
    private static final String URL = "jdbc:mysql://localhost:3306/db3";
    private static final String DRIVER = "com.mysql.jdbc.Driver";

    /**
     * 驱动的注册
     */
    static {
    
    
        try {
    
    
            Class.forName("DRIVER");
        } catch (ClassNotFoundException e) {
    
    
            e.printStackTrace();
        }
    }

    /**
     * 得到数据库的连接
     * @return : 返回数据库的连接
     * @throws SQLException : SQL的异常
     */
    public static Connection getConnection() throws SQLException {
    
    
        return DriverManager.getConnection(URL,USER,PWD);
    }

    /**
     * 关闭所有打开的资源
     * @param connection : 连接的对象
     * @param statement : 执行SQL语句的对象
     * @throws SQLException
     */
    public static void close(Connection connection,Statement statement) throws SQLException {
    
    
        try {
    
    
            assert statement != null;
            statement.close();
        }catch (SQLException e) {
    
    
            e.printStackTrace();
        }

        try {
    
    
            assert connection != null;
            connection.close();
        }catch (SQLException e) {
    
    
            e.printStackTrace();
        }
    }

    public static void close(Connection connection,Statement statement,ResultSet resultSet) throws SQLException {
    
    
        try {
    
    
            assert statement != null;
            statement.close();
        }catch (SQLException e) {
    
    
            e.printStackTrace();
        }

        try {
    
    
            assert resultSet != null;
            resultSet.close();
        }catch (SQLException e) {
    
    
            e.printStackTrace();
        }

        try {
    
    
            assert connection != null;
            connection.close();
        }catch (SQLException e) {
    
    
            e.printStackTrace();
        }
    }
}

5. 总结

这里给大家总结一个,这就是一个工具类的书写,并没有mian()函数的执行,因为,哪一个实例来讲,这篇文章就太反锁了。再总结一下代码中的问题吧。

  1. 我使用了static代码块,这是是类再加载的时候,这里边的代码就会被执行。建议使用这样的写法
  2. 使用了assent 断言,这里的意思是,入伙这个连接对象不为空,就可以执行下边的代码,如果为空,就报异常,到catch中。
  3. 这里有一个不足就是关闭有点繁琐,可以简化以下,就是把三个参数的释放,放在两个参数的方法体内,不过这样的化,resultSet就不能使用断言了,可以换做if语句实现。
  4. 上边说的三个参数的方法,放在两个参数的方法体内,被调用,这里,我们只需要把resultSet的参数传递为null就可以了,这也是为什么,我们需要把assert断言改为if语句的原因。

猜你喜欢

转载自blog.csdn.net/weixin_46213083/article/details/123464305