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

package com.bjsxt;

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

public class JdbcTest {
	
	//向Departments表中添加一条数据
	public void instertDepartments(String department_name,int location_id) {
		Connection conn=null;
		Statement state=null;
		try {
			//驱动注册
			Class.forName("com.mysql.jdbc.Driver");
			//创建链接
			 conn=DriverManager.getConnection("jdbc:musql://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) {
			// 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();
			}
		}
	}	
	}
	public static void main(String[] args) {
		JdbcTest test=new JdbcTest();
		test.instertDepartments("研发部", 8);

	}

}

报错提示:

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

java.sql.SQLException: No suitable driver found for jdbc:musql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)

at com.bjsxt.JdbcTest.instertDepartments(JdbcTest.java:18)

at com.bjsxt.JdbcTest.main(JdbcTest.java:47)



我的代码和视频中的一摸一样,怎么报错呢??

JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术(旧) 1460楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/MySQL数据库 1461楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/MySQL数据库 1462楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/SQL 语言 1463楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/MySQL数据库 1464楼

package com.itbaizhan;

import java.sql.Connection;
import java.sql.Statement;

/**
 * Statement对象的使用
 */
public class StatementTest {

    /**
     * 添加用户
     */
    public void insertUsers(String username,int userage){
        Connection connection = null;
        Statement statement = null;
        try{
            //获取Connection对象
            connection = JdbcUtils.getConnection();
            //获取Statement对象
            statement = connection.createStatement();
            //定义需要执行的SQL语句
            String sql = "insert into users values(default,'"+username+"',"+userage+")";
            //执行SQL,返回boolean值,如果SQL有结果集返回,那么返回值为true,如果没有结果集返回,则返回false.
            boolean execute = statement.execute(sql);
            System.out.println(execute);
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            JdbcUtils.closeResource(statement,connection);
        }
    }
}



package com.itbaizhan;

import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

/**
 * 工具类
 */
public class JdbcUtils {
    private static String url;
    private static String name;
    private static String pwd;

    static {
        try {
            //实例化Properties对象
            Properties prop = new Properties();
            //获取读取properties文件的字节输入流对象
            InputStream is = JdbcTest2.class.getClassLoader().getResourceAsStream("jdbc.properties");
            //读取properties文件并解析
            prop.load(is);
            //获取连接数据库的url
            url = prop.getProperty("url");
            //获取连接数据库的用户名
            name = prop.getProperty("name");
            //获取连接数据库的pwd
            pwd = prop.getProperty("pwd");
            //获取数据库驱动全名
            String drivername = prop.getProperty("driver");
            //加载并注册驱动
            Class.forName(drivername);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

        //获取数据库连接对象
        public static Connection getConnection(){
            Connection connection = null;
            try{
                connection = DriverManager.getConnection(url,name,pwd);
            }catch(SQLException e){
                e.printStackTrace();
            }
            return connection;
        }

        //关闭连接对象
        public static void closeConnection(Connection connection){
            try{
                connection.close();
            }catch(SQLException e){
                e.printStackTrace();
            }
        }

        //提交事务
        public static void commit(Connection connection){
             try{
                 connection.commit();
             }catch(SQLException e){
                 e.printStackTrace();
             }
        }

        //事务回滚
        public static void rollback(Connection connection){
            try{
                connection.rollback();
            }catch(SQLException e){
                e.printStackTrace();
            }
        }

        //关闭Statement对象
         public static void closeStatement(Statement statement){
             try{
                 statement.close();
             }catch(SQLException e){
                 e.printStackTrace();
             }
        }

        //关闭ResultSet
        public static void closeResulSet(ResultSet resultSet){
            try{
                resultSet.close();
            }catch(SQLException e){
                e.printStackTrace();
            }
        }

        //DML操作时关闭资源
        public static void closeResource(Statement statement,Connection connection){
            //先关闭Statement对象
            closeStatement(statement);
            //再关闭Connection对象
            closeConnection(connection);
        }

        //查询时关闭资源
        public static void closeResource(ResultSet resultSet,Statement statement,Connection connection){
            //先关闭ResultSet
            closeResulSet(resultSet);
            //再关闭Statement对象
            closeStatement(statement);
            //最后关闭Connection对象
            closeConnection(connection);
        }
    }
    
    
    package com.itbaizhan;

public class Test {
    public static void main(String[] args) {
        StatementTest statementTest = new StatementTest();
        statementTest.insertUsers("Miao",19);
    }
}


image.png

image.png


Statement_添加数据时报错,实在找不到原因






JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术 1467楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/Oracle 数据库的使用 1469楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/Oracle 数据库的使用 1470楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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