• Oracle中Timestamp使用


    建表语句如下:

    create table L_LOG_RECORD
    (
    LOG_ID number(6) not null primary key,
    LOG_USER varchar2(50) not null,
    LOG_OPERATION varchar(50) not null,
    LOG_OBJECT varchar2(100) not null,
    LOG_TIME date not null
    );

    怎奈,通过Hibernate逆向工程后,生成的实体:

    package com.idealing.model;
    
    import java.sql.Timestamp;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.SequenceGenerator;
    import javax.persistence.Table;
    
    /**
     * LLogRecord entity. @author MyEclipse Persistence Tools
     */
    @Entity
    @Table(name = "L_LOG_RECORD", schema = "IDEALING")
    public class LLogRecord implements java.io.Serializable {
    
        // Fields
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        private Integer logId;
        private String logUser;
        private String logOperation;
        private String logObject;
        private Timestamp logTime;
    
        // Constructors
    
        /** default constructor */
        public LLogRecord() {
        }
    
        /** full constructor */
        public LLogRecord(Integer logId, String logUser, String logOperation,
                String logObject, Timestamp logTime) {
            this.logId = logId;
            this.logUser = logUser;
            this.logOperation = logOperation;
            this.logObject = logObject;
            this.logTime = logTime;
        }
    
        // Property accessors
        @Id
        @SequenceGenerator(name = "LOG_SEQ",sequenceName = "LOG_SEQ",allocationSize = 1)
        @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "LOG_SEQ")
        @Column(name = "LOG_ID", unique = true, nullable = false, precision = 6, scale = 0)
        public Integer getLogId() {
            return this.logId;
        }
    
        public void setLogId(Integer logId) {
            this.logId = logId;
        }
    
        @Column(name = "LOG_USER", nullable = false, length = 50)
        public String getLogUser() {
            return this.logUser;
        }
    
        public void setLogUser(String logUser) {
            this.logUser = logUser;
        }
    
        @Column(name = "LOG_OPERATION", nullable = false, length = 50)
        public String getLogOperation() {
            return this.logOperation;
        }
    
        public void setLogOperation(String logOperation) {
            this.logOperation = logOperation;
        }
    
        @Column(name = "LOG_OBJECT", nullable = false, length = 100)
        public String getLogObject() {
            return this.logObject;
        }
    
        public void setLogObject(String logObject) {
            this.logObject = logObject;
        }
    
        @Column(name = "LOG_TIME", nullable = false, length = 7)
        public Timestamp getLogTime() {
            return this.logTime;
        }
    
        public void setLogTime(Timestamp logTime) {
            this.logTime = logTime;
        }
    
    }

    date成了Timestamp,不明白。。。。

    在进行日志查询的时候,前台给的日期格式是yy-mm-dd,而Timestamp的格式还包括了时分秒及.后的9位小数。无奈,就开始拼凑字符串,前台的date=+" 00:00:00.0",空格是必须的,不然老是提示格式错误。但是按照此方法,还是提示错误,尝试了一下,date+=" 00:00:00",对了!但是,明明数据库里面的时间是有小数的,对此不明白。。。

     String queryString = "from LLogRecord as m where m.logUser ='"+logUser+"' and m.logTime >=to_date('"+date1+"','YYYY-MM-DD HH24:MI:SS') and m.logTi  me <=to_date('"+date2+"','YYYY-MM-DD HH24:MI:SS')";
     List<LLogRecord> logs= getHibernateTemplate().find(queryString);

    date1和date2即是上述拼出的字符串。这样就可以查询Timestamp类型了。

  • 相关阅读:
    c#FileStream文件读写(转)
    mvc Razor 视图中找不到 ViewBag的定义
    JS正则表达式验证账号、手机号、电话和邮箱
    jquery each循环,
    $.grep(array, callback, [invert])过滤,常用
    arguments 对象
    有关Select option 元素
    MVC零基础学习整理(一)
    根据年月日算出当前日期是星期几
    C# winfrom 模拟ftp文件管理
  • 原文地址:https://www.cnblogs.com/idealing/p/3134793.html
Copyright © 2020-2023  润新知