会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132363个问题
JAVA 全系列/第三阶段:数据库编程/JDBC技术 1156楼
JAVA 全系列/第三阶段:数据库编程/数据库设计范式 1157楼

mport java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * JDBC工具类
 */
public class JDBCUtil {
   
    private static String driver = "com.mysql.jbdc.Driver";
    private static String jdbcUrl = "jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8";
    private static String username = "root";
    private static String userpassword = "rsc125979";
    static {
        // 注册驱动
        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){
        if(state != null){
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    // 关闭Connection
    public static void closeConnection(Connection conn){
        if(conn != null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    // 关闭资源  将关闭Connection和Statement方法放到一起
    public static void closeResource(Statement state,Connection conn){
        closeStatement(state);
        closeConnection(conn);

    }

}

public class JDBXTest 

    // 更新departments表中department_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();
            // sql语句
            String sql = "update departments d set d.department_name = '"+department_name+"',d.location_id="+location_id+" where d.department_id = "+department_id+" ";
            // 执行sql语句
            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) {
        JDBXTest test = new JDBXTest();
       test.updateDepartments("IT",6,11);
    }


}

image.png

image.png

语句执行成功了,但是为什么会报异常呀,没有使用工具类时更新数据没有报异常

报错的位置分别是

JDBCUtil中的

Class.forName(driver);

JDBCTest中的

conn = JDBCUtil.getConnection();
和
test.updateDepartments("IT",6,11);


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 1158楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 1160楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 1167楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 1168楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术 1169楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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