Oracle 用jdbc插入日期
首先这是我们的表
CREATE or replace TABLE dinnerTable(
id number PRIMARY KEY , -- 餐桌主键
tableName VARCHAR(20), -- 餐桌名
tableStatus number DEFAULT 0, -- 餐桌状态:0,空闲; 1,预定
orderDate DATE default sysdate
);
表中的orderDate字段是Oracle的日期类型
在实际项目中我们是用jdbc来操纵数据库
@Override
public void updata(DinnerTable dt) {
String sql = "UPDATE dinnertable SET tableStatus=?,orderDate=? WHERE id=?";
try {
Date date = dt.getOrderDate();
JdbcUtils.getQueryRunner().update(sql, dt.getTableStatus(),date,dt.getId());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
一般在Java中获取日期会经常使用Date这个类,然而,如果之间插入Date这个类型就会报错
这个时候我们需要把Date类型转换一下
Timerstamp
我们需要借助Timerstamp这个类来讲Date转换成可以插入到Oracle中的类型
Date date = dt.getOrderDate();
Timestamp tt = new Timestamp(date.getTime());
再讲转换后的日期插入
@Override
public void updata(DinnerTable dt) {
String sql = "UPDATE dinnertable SET tableStatus=?,orderDate=? WHERE id=?";
try {
Date date = dt.getOrderDate();
Timestamp tt = new Timestamp(date.getTime());
JdbcUtils.getQueryRunner().update(sql, dt.getTableStatus(),tt,dt.getId());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
就大功告成了!
本文详细介绍了如何在Oracle数据库中使用JDBC进行日期类型的正确插入。通过将Java的Date对象转换为Timestamp,解决了直接插入Date类型导致的错误,确保了数据库操作的顺利进行。

602

被折叠的 条评论
为什么被折叠?



