Java 使用 PreparedStatement 实现数据库插入操作
根据给出的代码示例,下面是对'doCreate()'方法的重新实现:
@Override
public boolean doCreate(OvertimeInfo vo) throws Exception {
String sql = 'INSERT INTO overtimeinfo (EmployeeID, OvertimeID, StartTime, EndTime, TimeCount) VALUES (?, ?, ?, ?, ?)';
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, vo.getEmployeeID());
pstmt.setInt(2, vo.getOvertimeID());
pstmt.setTimestamp(3, new Timestamp(vo.getStartTime().getTime()));
pstmt.setTimestamp(4, new Timestamp(vo.getEndTime().getTime()));
pstmt.setInt(5, vo.getTimeCount());
int affectedRows = pstmt.executeUpdate();
return (affectedRows > 0);
}
}
在这个重新实现的代码中,我们使用PreparedStatement来执行数据库插入操作。首先,我们准备了插入语句,然后设置占位符的值。注意,这里使用了try-with-resources语句来自动关闭PreparedStatement,以确保资源得到正确释放。
在设置占位符的值时,我们使用vo对象的相应方法来获取属性值,并将其转换为合适的数据类型。对于startTime和endTime属性,我们使用Timestamp类来将Date对象转换为数据库支持的时间戳类型。
最后,我们执行插入操作并返回受影响的行数。如果受影响的行数大于0,则插入操作成功,返回true;否则,返回false表示插入操作失败。
希望以上重新实现的代码能够满足你的需求。如果你有任何进一步的问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/oaU 著作权归作者所有。请勿转载和采集!