Java 操作mysql数据库中时间字段

mysql(版本:5.1.50)中表示时间的类型及java中的对应类型

mysql类型说明对应的java类型
date“yyyy-MM-dd” 日期类型 (范围:”1000-01-01”~”9999-12-31”)java.sql.Date
time“hh:mm:ss” 时间类型 (范围:”-838:59:59”~”838:59:59”)java.sql.Time
year“yyyy” 年份值类型 (范围:1901~2155)java.sql.Date
timestamp“yyyyMMddhhmmss” 时间戳类型 (范围:”19700101000000”~2037年的某个时刻)java.sql.Timestamp
datetime“yyyy-MM-dd hh:mm:ss” 日期时间类型 (范围:”1000-01-01 00:00:00”~”9999-12-31 23:59:59”)java.sql.Timestamp

插入精确时间字段

1.设置数据库中的日期类型为datetime

表的设计

2.创建对应的pojo 并且时间的类型设为java.util.Date

import java.util.Date;

public class TimePOJO {

    private Integer id;
    private Date f_createTime;
    //getter setter
}

3.使用jdbc连接数据库 使用javaAPI进行插入操作 注意插入TimeStamp类型

public static void add(TimePOJO pojo){
        String sql="INSERT INTO T_datetime_test( F_CreateTime ) VALUES ( ? );";
        Dbutils.executeUpdate(sql,new Timestamp(pojo.getF_createTime().getTime()));
}

4.插入完成,数据库中显示

插入结果

获取精确时间字段

0.保证数据库中的列是dateTime类型

1.获取列的时候调用rs.getTimeStamp()(用rs.getDate()只能获取到 天 不能获取到 秒)

public static void list(){

        List<TimePOJO> list=new ArrayList<>();
        String sql="select * from T_datetime_test";
        ResultSet resultSet = null;
        try{
             resultSet = DbUtils.executeQuery(sql);
            while(resultSet.next()){
                TimePOJO pojo=new TimePOJO();

                Long id = resultSet.getLong("id");
                Timestamp f_createTime = resultSet.getTimestamp("F_CreateTime");

                pojo.setId(id);
                pojo.setF_createTime(new Date(f_createTime.getTime()));
                list.add(pojo);
            }

            list.forEach(i->{
                System.out.println(i.toString()+"格式化之后的:"+sdf.format(i.getF_createTime()));
            });

        }catch (Exception ex){
            throw new RuntimeException(ex);
        }finally {
            DbUtils.closeAllQueitly(resultSet );
        }
    }

2.控制台输出结果

对象获取

3.jsp页面显示时间:

1.先引入:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
2.使用标签

<fmt:formatDate value="${pojo.f_createTime}" pattern="yyyy-MM-dd HH:mm:ss"/>

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值