自由编程打卡,请老师检查
来源: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、本题考查点在如下习题这里已经展示了哟:
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题