miniui,mybatis,oracle数据库中时间应该如何转换

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服务器的时间
获取java服务器
在数据库中进行类型转换
在数据库中进行类型转换

3.3 两种方式的比较
两种方式的结果是一样的,只不过一个获取java服务器时间,一个获取数据库服务器时间,但是数据库表CJSJ(创建时间)为date类型可以直接写为sysdate获取数据库时间,无需获取java服务器时间后转换。
可以节省资源,提高性能

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值