自由编程打卡,请老师检查
来源:7-2 自由编程
Mycheol
2020-08-27 11:26:33
package com.imooc.jdbc.goodsapp;
import com.imooc.jdbc.common.DbUtils;
import com.imooc.jdbc.hrapp.command.Command;
import java.sql.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class InsertCommand implements Command {
@Override
public void excute() throws SQLException, ClassNotFoundException {
Scanner in = new Scanner(System.in);
System.out.print("请输入商品名称:");
String name = in.next();
System.out.print("请输入商品价格:");
float price = in.nextFloat();
System.out.print("请输入商品描述:");
String desp = in.next();
System.out.print("请输入创建时间:");
String strCreate_date = in.next();
//输入的字符串日期转换成java.sql.Date类型
java.util.Date udCreate_date = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
try {
udCreate_date = sdf.parse(strCreate_date);
} catch (ParseException e) {
e.printStackTrace();
}
long time = udCreate_date.getTime();
java.sql.Date sdCreate_date = new java.sql.Date(time);
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = DbUtils.getConnection();
String sql = "INSERT INTO goods (name,price,desp,create_date) VALUE (?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setFloat(2, price);
pstmt.setString(3, desp);
pstmt.setDate(4, sdCreate_date);
int cnt = pstmt.executeUpdate();
if (cnt == 1) {
System.out.println("商品信息添加成功:");
rs = pstmt.executeQuery("SELECT * FROM goods");
while (rs.next()) {
int gid = rs.getInt(1);
String gname = rs.getString("name");
float gprice = rs.getFloat("price");
String gdesp = rs.getString("desp");
Date gdate = rs.getDate("create_date");
System.out.println(gid + " " + gname + " " + gprice + " " + gdesp + " " + gdate);
}
} else {
System.out.println("商品信息添加失败!");
}
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
DbUtils.closeConnection(null, pstmt, conn);
}
}
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Command cmd = new InsertCommand();
cmd.excute();
}
}偷懒没有把遍历结果转换成实体类存入到list中,不过还是实现了题目要求的功能,这题应该是为了考察转换日期类型吧?从用户键盘输入的字符串类型转换成java.sql.Date类型的日期对象。
1回答
同学你好,
1、测试同学的代码是可以的,棒棒哒!继续加油!!
2、本题考查点在如下习题这里已经展示了哟:

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题