我在这里红色的类似问题,但我没有t find solution for my problem, how to insert datetime field in mySql database using PreparedStatement in java? I didn
找到任何与此问题和PreparedStatement有关的东西。如何在java中使用PreparedStatement在mySql数据库中插入datetime字段?
所以,我有这样的代码:
public void sacuvajDezurstva(List<Dezurstvo> listaDezurstava) throws SQLException {
String sqlSacuvajDezurstva = "INSERT INTO dezurstvo (Datum,IspitniRokID, NastavnikID, PredmetID) VALUES (?,?,?,?)";
PreparedStatement ps = konekcija.prepareStatement(sqlSacuvajDezurstva);
for (Dezurstvo dezurstvo : listaDezurstava) {
ps.setDate(1, new Date(dezurstvo.getDatum().getTime()));
ps.setLong(2, dezurstvo.getIspitniRok().getIspitniRokID());
ps.setLong(3, dezurstvo.getNastavnik().getNastavnikId());
ps.setLong(4, dezurstvo.getPredmet().getPredmetID());
ps.executeUpdate();
}
konekcija.commit();
}
此代码的工作,但这里的第一个PS parametar这是日期是问题,因为在数据库中只有这个属性的部分 - 日期被保存,正是一天,当我使用这种方法时,会保存月份和年份。但小时,分钟和秒只是00:00:00。因此,在整个数据库的日期如下:
2016年6月26日00:00:00
此列在我的数据表,我插入日期为datetime型。当我调试时,我发现this - dezurstvo.getDatum()。getTime())具有通过窗体插入的日期的正常值。所以它有一天,一个月,一年,一小时,几分钟和几秒钟,但是这个ps.setDate,acctualy ps只有日,月和年的值。
我认为问题出在SQL查询但我不知道如何做到这一点,当我只有?在VALUES中,而不是一些实际的日期。
感谢您的帮助!
您可以使用'java.sql.Timestamp'而不是'Date'。 – Titus