JDBC入门 作业4-4问题

JDBC入门 作业4-4问题

package com.imooc.jdbc.command;

import com.imooc.jdbc.common.DbUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class InsertCommand implements Command {
    @Override
    public void execute() {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入商品名字:");
        String name = in.next();
        System.out.println("请输入商品价格:");
        float price = in.nextFloat();
        System.out.println("请输入商品描述:");
        String desp = in.next();

        Connection conn=null;
        PreparedStatement pstmt = null;

        try {
            conn = DbUtils.getConnection();
            String sql = " insert into  goods(name,price,desp) values (?,?,?)";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1,name);
            pstmt.setFloat(2,price);
            pstmt.setString(3,desp);
            int cnt = pstmt.executeUpdate();
            System.out.println(cnt+"商品信息已添加。");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            DbUtils.closeConnection(null,pstmt,conn);
        }
    }
}
package com.imooc.jdbc;
import com.imooc.jdbc.command.Command;
import com.imooc.jdbc.command.InsertCommand;

import java.util.Scanner;

public class GoodsRescource {
    public static void main(String[] args) {
        System.out.println("1-添加新的商品");
//        System.out.println("2-办理员工入职");
//        System.out.println("3-调整员工薪资");
//        System.out.println("4-员工离职办理");
        System.out.println("请选择功能:");
        Scanner in = new Scanner(System.in);
        Integer cmd = in.nextInt();

        Command command = null;
        switch (cmd){
            case 1:     //查询部门员工
                command = new InsertCommand();
                command.execute();  //执行
                break;

        }
    }
}
package com.imooc.jdbc.common;

import java.sql.*;

public class DbUtils {
    public static Connection getConnection() throws ClassNotFoundException, SQLException {

        Class.forName("com.mysql.cj.jdbc.Driver");

        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/goods?useSSL=false&useUnicode=true&usecharacterEnconding=utf-8&useserverTimezone:Asia/Shanghai&allPublicKeyRetrieval=true",
                "root", "root");
        return conn;
    }

    public static void closeConnection(ResultSet rs, Statement stmt, Connection conn) {
        try {
            //5. 关闭连接,释放资源
            if (rs != null) {
                rs.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            if (stmt != null) {
                stmt.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            if (conn != null && !conn.isClosed()) {
                conn.close();
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }
}
create table goods(
id int primary key auto_increment COMMENT "商品编号",
name varchar(20) not null COMMENT "商品名称",
price float not null comment"商品价格",
desp varchar(20) not null comment"商品描述");
Insert into goods(name,price,desp) 
values ('手机',2000,'黑色,存储容量'),
('冰箱',1500,'银色,对开门'),
('洗衣机',3000,'滚筒');


麻烦老师检查一下代码错在哪里了

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2023-02-08 10:58:17

同学你好,1、测试同学代码出现如下异常,异常信息提示:错误的数据库URL,无法解析':Asia/Shanghai&allPublicKeyRetrieval=true'附近的连接字符串。

https://img1.sycdn.imooc.com//climg/63e30d8e0962a65d16130113.jpg

此时应该是等于号(=),而不是冒号(:),所以出现异常,则建议同学进行修改。

2、修改为等于号后出现下方异常信息,

https://img1.sycdn.imooc.com//climg/63e30e4809579e2317930357.jpg

该异常是因设置时区失败,建议同学将useserverTimezone修改为错误信息中提示的serverTimezone。修改后代码如下所示:

https://img1.sycdn.imooc.com//climg/63e30f9009e3d49f10210115.jpg

祝学习愉快!

  • 提问者 rudtjd #1

    https://img1.sycdn.imooc.com//climg/63e310b009ba8b2008820275.jpg

    修改后运行的错误提示

    2023-02-08 11:02:17
  • 好帮手慕小尤 回复 提问者 rudtjd #2

    同学你好,建议同学将全部的异常信息反馈到问答区,便于老师定位问题。

    祝学习愉快!

    2023-02-08 11:18:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师