其实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;
}
}
);
}