数据库的字段是时间类型datetime(yyyy-MM-dd HH:mm:ss)
可是我用hibernate调用存储过程插入的值都是(yyyy-MM-dd)类型 !!!!
后面找了相关的文章,还是没解决。。。那些回答的人简直是乱扯淡。。。
后来 自己找到了方法 终于解决了。
其实很简单。。。写个简单的spring + hibernate调用存储过程。
比如:
String sql = "{call gamelog.sp_add_ad_log(?,?,?,?)}";
/**
* CREATE PROCEDURE sp_add_ad_log(fid bigint,ad_id integer, url varchar(1000),addDate datetime)
*/
CallableStatement cs = getHibernateTemplate().getSessionFactory()
.getCurrentSession().connection().prepareCall(sql);
cs.setLong(1, facebookId);
cs.setInt(2, adId);
cs.setString(3, url);
cs.setTimestamp(4, DateUtil.getTimestamp());
// 执行插入
cs.executeUpdate();
解释:gamelog为数据名。sp_add_ad_log 为存储过程的名字。addDate: 这个字段为datetime 那么你就使cs.setTimestamp 这个方法 就插入了这个(yyyy-MM-dd HH:mm:ss)格式。。。。
本文介绍如何正确使用Hibernate框架调用存储过程,并确保时间字段以datetime(yyyy-MM-dd HH:mm:ss)格式正确插入数据库。通过具体示例展示了设置Timestamp类型的正确方法。
715

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



