hibernate 调用存储过程 时间设置问题

本文介绍如何正确使用Hibernate框架调用存储过程,并确保时间字段以datetime(yyyy-MM-dd HH:mm:ss)格式正确插入数据库。通过具体示例展示了设置Timestamp类型的正确方法。

    数据库的字段是时间类型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)格式。。。。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值