向Mysql中插入时间只有日期没有时分秒的问题

小问题点积累 专栏收录该内容
2 篇文章 0 订阅

关于向Mysql中写入插入时间只有日期没有时分秒以及JSP页面显示日期多了个.0的问题

我们一般再将实体类中的日期类型的数据写入数据库的时候,需要把java.util.Date转换为java.sql.Date,我们使用常规的方法去转换,转换过来的只可以得到年月日。如果需要取得时分秒,可以使用Date类的子类Timestamp。

java.util.Date是不能直接插入数据库的,虽然它包含了日期和时分秒。java.sql.Date可以直接写入数据库,但是它只有日期没有时间,java.sql.Time可以直接写入数据库,但是它只有时间没有日期。使用java.sql.Timestamp可包含目前到毫秒的时间值。

再程序中我们常常使用的是java.util.Date,所以我们就要将java.util.Date转换为java.sql.Timestamp.

插入数据时:

Connection conn = null;  
PreparedStatement psmt = null;  
ResultSet rs = null;  

try {  
    conn = DBUtil.getConnection();  
    psmt = conn.prepareStatement(sql);  
    psmt.setString(1, message.getmTitle());  
    psmt.setString(2, message.getmContent());  
    psmt.setTimestamp(3, new Timestamp(message.getmPublishTime().getTime()));  
    psmt.setInt(4, message.geteId());  
    psmt.execute();  
} catch (Exception e) {  
    e.printStackTrace();
} 

取出数据时:

try {  
    conn = DBUtil.getConnection();  
    psmt = conn.prepareStatement(sql);  
    rs = psmt.executeQuery();                
    while(rs.next()){  
        m=new Message();  
        m.setmId(rs.getInt("m_id"));  
        m.setmTitle(rs.getString("m_title"));  
        m.setmContent(rs.getString("m_content"));  
        m.setmPublishTime(rs.getTimestamp("m_publishTime"));
        m.seteId(rs.getInt("e_id"));  
        messages.add(m);  
    }  
} catch (Exception e) {    
        e.printStackTrace();
}

jsp页面显示多个0,使用下面的方法解决:
用jsti的fmt:formatDDate标签.(注:项目虚引入jstl的jar,页面需要引入标签库)

<%@
 taglib prefix="fmt"
 uri="http://java.sun.com/jsp/jstl/fmt"
 %>
<c:forEach var="me" items="${me}">  
                <tr>  
                    <td width="15%">${me.message.mTitle}</td>  
                    <td width="20%">${me.message.mContent}</td>  
                    <td width="10%"><span style="color:#ff0000;">
                    <fmt:formatDate value="${me.message.mPublishTime}" pattern="yyyy-MM-dd HH:mm:ss"/></span></td>  
                    <td width="10%">${me.employee.eName}</td>  
                    <td width="10%">回复(..)</td>  
                </tr>  
</c:forEach> 
  • 0
    点赞
  • 0
    评论
  • 3
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

heyanxi0101

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值