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

JdbcTest.java类

  package com.bjsxt;

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

public class JdbcTest {

	//向Dpeartment表中添加一条数据
	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/test?useUnicode=true&characterEncoding=utf-8", "root", "123456");
			*/
			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.closeStatement(state);
			//JdbcUtil.closeConnection(conn);
			JdbcUtil.closeResource(state, conn,null);
		}
		
	}
	//更新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) {
			// TODO: handle exception
			e.printStackTrace();
		}finally {  
			JdbcUtil.closeResource(state, conn,null);
		}
	}
	//查询departments表中部门ID为6的部门信息
	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 departments d where d.department_id = "+departmentId;
			//执行返回结果
			rs= state.executeQuery(sql);
			while(rs.next()) {
				System.out.println(rs.getInt("department_id")+" "+rs.getInt("department_name")+" "+rs.getInt(3));
			}

		}catch(Exception e) {
			e.printStackTrace();
		}finally {
			JdbcUtil.closeResource(state, conn,rs);
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JdbcTest test=new JdbcTest();
		//test.insertDepartments("研发部", 1);
		//test.updateDepartments("xx部", 8,4 );
		//test.updateDepartments("啰嗦不", 6, 4);
		//test.insertDepartments("干啥不", 10);
		test.selectDepartmentsById(6);
	}

}

JdbcUtil.java类

package com.bjsxt;

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

/**
 * Jdbc工具类
 * @author wyz
 *
 */
public class JdbcUtil {
	private static String driver ;
	private static String jdbcurl;
	private static String username;
	private static String password;
	static {
		//读取Properties文件
		ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
		driver=bundle.getString(driver);
		jdbcurl=bundle.getString(jdbcurl);
		username=bundle.getString(username);
		password=bundle.getString(password);
		try {
			Class.forName(driver);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	//获取Connection对象
	public static Connection getConnection() {
		Connection conn=null;
		try {
			conn= DriverManager.getConnection(jdbcurl,username,password);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	//关闭statement
	public static void closeStatement(Statement state) {
			try {
				if(state!=null) {
					state.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}	
	}
	//关闭Connection
	public static void closeConnection(Connection conn) {
		try {
			if(conn!=null) {
			conn.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);
	}
	//关闭ResultSet链接
	public static void closeResultSet(ResultSet rs)  {
		try {
			if(rs!= null) {
			rs.close();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

jdbc.properties

driver   =com.mysql.jdbc.Driver
jdbcurl  =jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
username =root
password =123456

还是报错跟之前同学们一样的问题,我看不太懂导包啥的我报错就是这样的

image.png

这是下面一章了,这章我就一直报错,找了好久没解决问题,学习下面一章的时候还是报错。麻烦老师详细解释一下

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

程序运行成功,但是数据库没有添加到数据

1:代码

package sxt.com;

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

public class JdbcTest {

    //向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/sxt?useUnicode=true&characterEncoding=utf-8&useSSL=false","root","2020");
            //执行sql
            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 throwables) {
                    throwables.printStackTrace();
                }finally {

                }
            }
        }
        if (conn != null){
            try {
                conn.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }

    }

    public static void main(String[] args) {
        JdbcTest test = new JdbcTest();
        test.insertDepartments("研发部",8);
    }
}
2:运行

image.png


3:数据库:

image.png

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

image.png

JdbcUtil类:

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 programmer;
    private static String url;
    private static String username;
    private static String password;

    static {
        //读取Propertises文件
        ResourceBundle bundle =ResourceBundle.getBundle("resource");
        programmer=bundle.getString("programmer");
        url =bundle.getString("url");
        username =bundle.getString("username");
        password =bundle.getString("password");
        try {
            Class.forName(programmer);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    //获取connection
    public static Connection getconnection(){
        Connection con =null;
        try {
            con = DriverManager.getConnection(url,username,password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return con;
    }
    //释放资源
    public static void closeResourse(Statement s ,Connection con){
        try {
            s.close();
            con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}


JDBCTest02类:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 测试JDBC
 */
public class JDBCTest02 {

    public void insertdata(String name, int salary) {
        Connection con = null;
        Statement statement = null;
        try {
            con = JdbcUtil.getconnection();
            String sql = "insert into employees values(null,'" + name + "'," + salary + ")";
            statement = con.createStatement();
            int flag = statement.executeUpdate(sql);
            System.out.println(flag);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JdbcUtil.closeResourse(statement, con);
        }
    }

    public void updatedata(String name, double salary, int id) {
        Connection conn = null;
        Statement statement = null;
        try {
            conn =JdbcUtil.getconnection();
            statement = conn.createStatement();
            String sql = "update employees e set e.last_name ='" + name + "',e.salary =" + salary + " where e.employee_id=" + id + "";
            int a = statement.executeUpdate(sql);
            System.out.println(a);
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            JdbcUtil.closeResourse(statement,conn);
        }

    }

    public static void main(String[] args) {
        JDBCTest02 jdbcTest = new JDBCTest02();
        jdbcTest.insertdata("tom", 20000);
     
    }
}

结果异常:

image.png

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

jdbc链接数据库出现问题:

1:代码

package sxt.com;

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

public class JdbcTest {

    //向departments表添加一条数据
    public void insertDepartments(String department_name){
        Connection conn = null;
        Statement state = null;

        //驱动注册
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //创建链接
             conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/sxt?characterEncoding=utf-8","root","root");
            //执行sql
            String sql = "insert into department values(default,‘研发部’)";
             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 throwables) {
                    throwables.printStackTrace();
                }
            }
        }
        if (conn != null){
            try {
                conn.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }

    }

    public static void main(String[] args) {
        JdbcTest test = new JdbcTest();
        test.insertDepartments("研发部");
    }
}

2:问题:


image.png

JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 1286楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/MySQL数据库 1288楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/SQL 语言 1289楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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