会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132365个问题

无法初始化类com.bjsxt.JdbcUtil文件。

image.png

工具类代码:

package com.bjsxt;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

/**
 * jdbc工具类
 */
public class JdbcUtil {
    private static String driver;
    private static String jdbcUrl;
    private static String username;
    private static String userpassword;
    static {
        //读取Properties文件
        ResourceBundle bundle = ResourceBundle.getBundle("jdbc.properties");
        driver = bundle.getString(driver);
        jdbcUrl = bundle.getString(jdbcUrl);
        username = bundle.getString(username);
        userpassword = bundle.getString(userpassword);
        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    //获取Connection对象
    public static Connection getConnection(){
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(jdbcUrl,username,userpassword);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
    //关闭Statement
    public static void closeStatement(Statement state){
        try {
             if(state != null){
                state.close();
                }
             } catch (SQLException throwables) {
                throwables.printStackTrace();
             }

    }
    //关闭Connection
    public static void closeConnection(Connection conn){
        try {
            if(conn != null){
                conn.close();
            }
        }catch (SQLException throwables){
            throwables.printStackTrace();
        }
    }
    //关闭资源
    public static void closeResource(Statement state,Connection conn){
        closeStatement(state);
        closeConnection(conn);
    }
}

propenties:

driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8
username=root
userpassword=root

测试:

package com.bjsxt;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class JdbcTest {
    //向Departments表中添加一条数据
    public void insertDepartments(String department_name,int location_id){
        Connection conn = null;
        Statement state = null;
        //驱动注册
        try {
            conn = JdbcUtil.getConnection();
            String sql="insert into departments values(default,'"+department_name+"',"+location_id+")";
            state = conn.createStatement();
            int flag = state.executeUpdate(sql);
            System.out.println(flag);
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            JdbcUtil.closeResource(state,conn);
        }
    }
    //更新departments表中的department_id为6的数据,将部门名称修改为教学部,location_id修改为6
    public void updateDepartments(String department_name,int location_id,int department_id){
        Connection conn = null;
        Statement state = null;
        try {
            conn = JdbcUtil.getConnection();
            state = conn.createStatement();
            String sql = "update departments d set d.department_name='"+department_name+"',d.location_id="+location_id+" where d.department_id="+department_id;
            int flag = state.executeUpdate(sql);
            System.out.println(flag);

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            JdbcUtil.closeResource(state,conn);
        }
    }
    public static void main(String[] args) {
        JdbcTest test = new JdbcTest();
        test.insertDepartments("教学部",9);
        //test.updateDepartments("研发部",8,6);
    }
}

问题应该在properties文件读取不到,绝对路径试过了,一模一样的报错,不读取properties文件没有问题。请老师讲解

JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 796楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 800楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 802楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 803楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 806楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 807楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 809楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 810楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637