您当前的位置: 首页 > 

liaowenxiong

暂无认证

  • 1浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

字符串类型的日期如何存储到数据表Date类型的字段中

liaowenxiong 发布时间:2022-02-20 15:36:29 ,浏览量:1

在使用 JDBC 访问数据库存储数据时,日期类型的数据必须是 java.sql.Date 的才能注入到 SQL 语句中。 因此这里是将字符串类型的日期转换成 java.util.Date,接着再转换成 java.sql.Date ,最后注入到 SQL 语句中。

public class ProjectDAO {
private static final String insert = "insert into t_project(no,name,start_date,end_date) values(?,?,?,?)";
public void add(Project project) {
    Connection con = null;
    PreparedStatement pstmt = null;
    con = ConnectionUtils.getConnection();
    try {
      pstmt = con.prepareStatement(insert);
      pstmt.setString(1, project.getNo());
      pstmt.setString(2, project.getName());
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      // project获取到的是字符串类型的日期,需要转换成java.util.Date类型
      Date startDateUtil = sdf.parse(project.getStartDate());
      // java.util.Date类型的日期无法封装到SQL中,需要转换成java.sql.Date类型
      java.sql.Date startDate = new java.sql.Date(startDateUtil.getTime());
      Date endDateofUtil = sdf.parse(project.getEndDate());
      java.sql.Date endDate = new java.sql.Date(endDateofUtil.getTime());
      pstmt.setDate(3, startDate);
      pstmt.setDate(4, endDate);
      pstmt.execute();
    } catch (SQLException e) {
      e.printStackTrace();
      throw new RuntimeException(e);
    } catch (ParseException e) {
      e.printStackTrace();
      throw new RuntimeException(e);
    } finally {
      ConnectionUtils.close(pstmt, con);
    }
  }
  }
关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0411s