jsp如何在mysql中自动显示datetime

0

其实jsp实际上就是servlet,只是意义不一样而已,jsp是由以下部分组成的:
1>java代码
2>html代码
3>隐含对象
4>指令
5>活动元素
6>注释
只是jsp是以java代码为辅,html代码为主,servlet则反之.所以你在java程序中能完成的功能都是可以在jsp中完成的。获得系统时间可以直接在java代码中<%任意的java代码%>.
Date date=new Date(System.currentTimeMillis()).如果想方便的话,Date类型可以导入java.sql包下的Date,这样就不需要格式化date了,直接插入到数据库里就可以了。然后用
insert into tale_name(column_1,column_2) values(v1,v2).这里你还要获得访问数据库的对象哦,你都可以通过jsp中的指令来导包
<%@指令名 属性1=值1 属性2=值2%>
比如:
<%@page import="java.util.*,java.sql.*">(包于包之间要以逗号隔开,但最后一个包是不需要加任何结束符号的)
其作用是,告诉jsp引擎,在生成的.java文件中,添加导包语句
<%@page pageEncoding="utf-8"%>
其作用是告诉jsp引擎,在生成.java文件时,其jsp文件本身所才用的编码是什么.

这样做会复杂很对,建议你最好直接在servlet里面搞定吧,希望可以帮助你。呵呵


           我们在表中定义了,记录的新增时间和修改时间两个字段。需要在hibernate进行insert和update时候自动生成这两个字段。


                                                                                                  

                                                  hibernate jpa注解配置 自动生成数据库时间

方法一:


private Date rec_crt_ts = new Date();




@Basic(optional=true)
@Temporal(TemporalType.TIMESTAMP)        
public Date getRec_crt_ts() {
return rec_crt_ts;
}


但经过测试这种方法生成的是机器时间(程序时间)而非数据库时间。


而我们需要保持同步,统一使用数据库时间,因为集群或者网络延时可能会导致时间不一致和时间冲突。




方法二(可以取数据库时间)


如何使用hiberate机制,向oracle数据库的某一个表字段中存储数据库的系统时间呢?其实很简单,以下是简单实例说明,给需要的朋友。 


(1)创建数据库表,其中有一个字段stamp_apply: 
Java代码
STAMP_APPLY DATE 
(2)创建对象模型层,设置STAMP_APPLY的对应属性createStamp,类型为java.util.Date
Java代码
import java.util.Date;
public class XXXXXXX{  
private Date createStamp;
...... 
}
(3)设置hibernate映射文件XXXXXXX.hbm.xml,使用<timestamp>定义createStamp,即:
<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
<hibernate-mapping>  
<class name="XXXXXXX" table="nnnnnn" 
<id> 
 ......  
</id> 
<timestamp  name="createStamp" column="stamp_apply">
</timestamp>


方法二可行,但是不适用于注解配置而适用于xml配置


方法三、


取出数据库时间后复制再insert和update


        
@SuppressWarnings("unchecked")
public static Date getDBSysDate(){
HibernateTemplate hibernateTemplate =new HibernateTemplate(sessionFactory);
 
  return (Date)hibernateTemplate.execute(new
          HibernateCallback() {
        public Object doInHibernate(Session session) throws SQLException, HibernateException {
          Date sysdate =null;
          SQLQuery query = session.createSQLQuery("select sysdate   CRTDATE from dual");
            query.addScalar("CRTDATE", new org.hibernate.type.TimestampType());
            List children = query.list();
            sysdate = (Date) children.iterator().next();
            session.close();
            //releaseSession(session);
            return sysdate;
        }
      }
  );
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值