1、从数据库中查找时间展示在前台
1.1 oracle中的数据格式:date数据类型,插入oracle的table使用语句
insert into table (SJ) values (to_date('2004-03-08 13:00:00', 'yyyy-MM-dd HH24:mi:ss'));`
to_date:将字符串转换成时间样式;
1.2 mybatis中配置select语句查询
<select id="SYPT_KFSCX" parameterType="map" resultType="map">
SELECT to_char(cjsj,'yyyy-MM-dd HH24:mi:ss') as cjsj
FROM fw_sypt_kfsjlb b
</select>
to_char:将date数据类型的数据转换成字符串类型;
1.3 前台jsp多记录表单展示
<div field="CJSJ" width="100" headerAlign="center" align="center" dateFormat="yyyy-MM-dd HH:mm:ss">创建时间</div>
1.4 注意事项:jsp中的时间格式dateFormat=“yyyy-MM-dd HH:mm:ss”,java区分大小写,所以MM和mm不是同一个
oracle的时间格式dateFormat=‘yyyy-MM-dd HH24:mi:ss’,oracle不区分大小写,MM和mm是同一种表示方式,所以用MM和mi进行区分。
2、前台获取时间保存在数据库中
2.1 miniui前台得到时间,此时得到的在service中是String类型
<td class="tb_label"><span style="color:red; vertical-align: middle;">*</span>上架时间</td>
<td class="tb_input"><input id="SJSJ" name="SJSJ" class="mini-datepicker" required="true" format="yyyy-MM-dd" ondrawdate="xtjrBtn.onDrawSjDate"/></td>
<td class="tb_label"><span style="color:red; vertical-align: middle;">*</span>下架时间</td>
<td class="tb_input"><input id="XJSJ" name="XJSJ" class="mini-datepicker" required="true" format="yyyy-MM-dd" ondrawdate="xtjrBtn.onDrawXjDate"/></td>
2.2 service中对字符串进行处理,将其变成自己想要的格式
Map<String,Object> paramsMap = dto.getData();
//上架时间
String sjsj=paramsMap.get("SJSJ").toString().replace("-","");
paramsMap.remove("SJSJ");
paramsMap.put("SJSJ", sjsj);
//下架时间
String xjsj=paramsMap.get("XJSJ").toString().replace("-","");
paramsMap.remove("XJSJ");
paramsMap.put("XJSJ", xjsj);
2.3 存储在oracle数据库中,此处数据库中的SJSJ和XJSJ是varchar类型,因此不转换成date格式
<insert id="XTGL_I" parameterType="hashmap">
insert into Fw_sypt_xtjrjlb(XJSJ,XTJJ)
values(#{SJSJ},#{XJSJ})
</insert>
2.4 若oracle中是date格式,则转换成date格式进行存储
<insert id="XTGL_I" parameterType="hashmap">
insert into Fw_sypt_xtjrjlb(SJSJ,XJSJ)
values(to_date(#{SJSJ}, 'yyyy-MM-dd HH24:mi:ss'),to_date(#{XJSJ}, 'yyyy-MM-dd HH24:mi:ss')
</insert>
3、获取当前系统时间保存在数据库中
3.1 直接使用oracle中的sysdate函数
<insert id="XTGL_I" parameterType="hashmap">
insert into Fw_sypt_xtjrjlb(CJSJ)
values(sysdate)
</insert>
3.2 获取java服务器的时间
在数据库中进行类型转换
3.3 两种方式的比较
两种方式的结果是一样的,只不过一个获取java服务器时间,一个获取数据库服务器时间,但是数据库表CJSJ(创建时间)为date类型可以直接写为sysdate获取数据库时间,无需获取java服务器时间后转换。
可以节省资源,提高性能