【JavaWeb】【MySQL】【edu01】jdbc.properties配置文件的编写

前提准备

导入 mysql-connector-java-版本号 的jar包
下面为大家提供几个jar包下载地址
点击进入下载界面 》》推荐 MySQL官方 多版本选择

点击进入下载界面 》》普通 2021年10月30日 8.0

创建

在src文件夹下创建文件jdbc.properties

内容组成

driverClass = com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://主机IP(某些可以域名):端口号(一般3306)/数据库名
user=用户名
password=用户密码

注意
如果连接的是远程数据库,需要在安全组开放端口号
例如我的mySQL端口号是3306,想连接在宝塔的数据库,我就要在宝塔开放3306端口,然后设置这个数据库所有IP可以访问,然后重启mySQL(一定要重启MySQL),如果访问还是被拒绝,可以去检查服务器中安全组是否开放3306端口。

引用

package jdbc;

import org.apache.jasper.tagplugins.jstl.core.Catch;

import java.sql.*;
import java.util.ResourceBundle;

public class JDBCUtils {
    //私有化构造函数
    //防止外界直接创建对象
    private JDBCUtils(){}
    //提供静态方法getConnection
    //用来对外提供数据库连接对象

    /**
     *Connection 用来对外提供数据库连接对象
     * @return
     */
    public static Connection getConnection(){
        try{
            //0.读取文件属性
            ResourceBundle conf = ResourceBundle.getBundle("conf/jdbc");
            //1.注册驱动
            Class.forName(conf.getString("driverClass"));
            //2.获取数据库连接
            String url = conf.getString("jdbcUrl");
            String user = conf.getString("user");
            String password = conf.getString("password");
            Connection conn = DriverManager.getConnection(url,user,password);
            return conn;
        }catch (Exception e){
            e.printStackTrace();
        }
        return null;
    }
   //提供静态方法close,用来释放资源

    /**
     *close 用来释放资源
     * @param rs
     * @param st
     * @param conn
     */
    public static void close(ResultSet rs, Statement st,Connection conn){
        //关闭结果资源集
        if(rs!=null){
            //防止空指针异常
            try{
                rs.close();
            }catch (SQLException e){
                e.printStackTrace();
            }finally {
                rs=null;//手动置空,等待GC回收
            }
        }
        //关闭传输器资源
        if(st!=null){
            //防止空指针异常
            try {
                st.close();
            }catch (SQLException e){
                e.printStackTrace();
            }finally {
                st = null;//手动置空,等待GC回收
            }
        }
        //关闭数据库连接资源
        if(conn!=null){
            //防止空指针异常
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }finally {
                conn=null;//手动置空,等待GC回收
            }
        }
    }

}

注意
使用时注意名称对应,大部分出现问题的同学都是名称不对应
检查内容:
1.主机名/域名,端口号,数据库名是否正确,用户名密码是否正确,尤其是大小写问题
2.getBundle的路径是否正确
3.getString的名称是否和配置文件的名称对应

posted @ 2021-10-30 23:46  萌狼蓝天  阅读(119)  评论(0编辑  收藏  举报