会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133322个问题
JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 976楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 977楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/SQL 语言 978楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 979楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 982楼

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");
        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){
        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();
            }
        }
    }
    //关闭资源
    public static void closeResource(Statement state ,Connection conn){
        closeStatement(state);
        closeConnection(conn);
    }
}[object Object]

image.png

image.png

这个问题实在找不到为什么?看不出来哪里报错??????



JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 983楼

package com.bjsxt;

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

public class JdbcText {
    //向Departments表中添加一条数据
    public void insertDepartments(String department_name,int location_id){
            Connection conn = null;
            Statement state =null;
        try {
            //驱动的注册
            Class.forName("com.mysql.jdbc.Driver");
            //创建链接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8","root","root");
            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 {
            if (state != null){
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

        }
    }
    //更新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 {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8","root","root");
            state = conn.createStatement();
            String sql = "update dapartments 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 {
            if (state != null){
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    public static void main(String[] args) {
        JdbcText test = new JdbcText();
       // test.insertDepartments("研发部",8);
        test.updateDepartments("教学部",6,6);
    }
}

老师,我在执行的时候一直报错52行,找了很久实在找不出原因,麻烦帮我看下

image.png

JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 984楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/Oracle 数据库的使用 985楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 986楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/Oracle 数据库的使用 987楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/Oracle 数据库的使用 988楼

老师,麻烦帮我找找这个bug

package DataBase;

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


public class test {
	public void insertDepartments(String department_name,int location_id) {
		Connection conn=null;
		Statement state=null;
		try {
			//注册驱动
			Class.forName("com.mysql.jdbc.Driver");
			//创建链接,解决乱码问题useUnicode=true&characterEncoding=utf-8
			conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8", "root", "root");
			String sql="insert into department values('"+department_name+"',"+location_id+")";
			//注意不要导错包,使用javasql包下
			state=conn.createStatement();
			int flag=state.executeUpdate(sql);
			System.out.println(flag);
			//注意释放statement(先)和connection(后)
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			if(state!=null) {
				try {
					state.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if(conn!=null) {
				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		
	}
	//更新departments表中的department_id为6的数据,将部门修改为教学部,location_id改为6
	private void updateDepartments(String departmentString_name,int location_id,int department_id) {
		// TODO Auto-generated method stub
		Connection conn=null;
		Statement state=null;
		try {
			conn=jdbcUtil.getConnection();
			String sql="update department set department.department_name ='"+departmentString_name+"',department.location_id ="+location_id+" where department.location_id ="+department_id;
			System.out.println(sql);
			//注意不要导错包,使用javasql包下
			state=conn.createStatement();
			int flag=state.executeUpdate(sql);
			System.out.println(flag);
			//注意释放statement(先)和connection(后)
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			jdbcUtil.closeResource(state, conn);
		}
	}
	public void selectDepartmentsById(int departmentId) {
		Connection conn=null;
		Statement state=null;
		ResultSet rs=null;
		try {
			conn=jdbcUtil.getConnection();
			state=conn.createStatement();
			String sql="select * from department where department.department_id="+departmentId;
			//执行查询,返回结果
			rs=state.executeQuery(sql);
			while (rs.next()) {
				rs.getInt("department_id");
				rs.getString("department_name");
				rs.getInt(2);
				System.out.println(rs.getInt("department_id")+" "+rs.getString("department_name")+" "+rs.getInt(2));
			}
		} 
		catch (Exception e) {
			// TODO: handle exception
		}finally {
			jdbcUtil.closeResource(state, conn,rs);
		}
	}
	public static void main(String[] args) {
		test test=new test();
//		test.insertDepartments("教学部", 18);
//		test.updateDepartments("教学部", 3,2);
		test.selectDepartmentsById(1);
	}
}
package DataBase;

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

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");
		driver=bundle.getString("driver");
		jdbcURL=bundle.getString("jdbcURL");
		username=bundle.getString("username");
		userpassword=bundle.getString("userpassword");
		try {
			Class.forName(driver);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	//获取Connection对象
	public static Connection getConnection() {
		// TODO Auto-generated method stub
		Connection conn=null;
		try {
			conn=DriverManager.getConnection(jdbcURL,username,userpassword);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	private static void closeStatement(Statement state) {
		// TODO Auto-generated method stub
		if(state!=null) {
			try {
				state.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	private static void closeConnection(Connection conn) {
		// TODO Auto-generated method stub
		if(conn!=null) {
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	private static void closeResultSet(ResultSet rs) {
		if(rs!=null) {
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
	public static void closeResource(Statement state,Connection conn,ResultSet rs) {
		closeStatement(state);
		closeConnection(conn);
		closeResultSet(rs);
	}
	public static void closeResource(Statement state,Connection conn) {
		closeStatement(state);
		closeConnection(conn);
	}
}
driver="com.mysql.jdbc.Driver";
jdbcURL="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";
username="root";
userpassword="root";

image.png

运行增加一条数据代码不会报错,但是查找代码报如上错误

JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 989楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 990楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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