`

JAVA createSQLQuery().list()返回日期格式没有时分秒的解决方法

阅读更多

       在开发web项目中,发现提取Oracle中某几个Date类型的字段时,发现提出来的Date型值,只有“年月日”,没有“时分秒”显示出来,实际业务中,是要求页面上显示的日期要求是有“年月日是分秒”的。

       这里说明一下,我是用session.createSQLQuery(sql).list()来返回值的,反回的值类型是List(Object[]).虽然,我是用的ssh,由于此处的sql对应的业务情况涉及到复杂的多表查询,如果是用hibernate来作映射的话,难度就非常大了,而且编码会带来很大的难度。所以这里就委而用原生态的sql或者说标准sql来返回值了。


具体详细问题如下在用ssh中对于如下语句:
session.createSQLQuery(sql).list();
查询,返回一个List<Object[]>
在对List循环中,我发现如显示日期类型的值时,只显示了“年月日”,没有显示“时分秒”

for(Object[] obj:session.createSQLQuery(sql).list()){
    ...
    System.out.println("收单日期是 "+(Date)obj[3]);
    //只显示了年月日,没有显示"时分秒"了 如2015-01-21
    //oracle数据表中对应字段的值,实际上是2015-01-21 11:00:02
    ...
}

经网友提醒,和本人的耐心测试,思考后终于找到了解决方法

 

方法一:
将Oracel数据库对应表中“收单时间的字段”receive_sheet_time,由原来的Date类型改为timestamp
然后,在java程序中,由 (java.util.timestamp)obj[3] 这样返回值,就会显示有“年月月时分秒“了。

 

方法二:
OracleOracel数据库对应表中“抓取日期字段”PUTIN_TIME,字段继续保持Date类型不变
将上述sql语句中,返回 “抓取日期字段”PUTIN_TIME ,变为to_char(PUTIN_TIME,'YYYY-MM-DD hh24:mi:ss') as PUTIN_TIME
作为字符串类型来返回值,然后在java程序中用,由 (String)obj[3] 这样返回值,就会显示有“年月月时分秒“了。

 

转载:

http://blog.163.com/shenzhicheng@126/blog/static/52877944201331691252905/

 

分享到:
评论

相关推荐

    hibernate 的createSQLQuery的几种用法

    使用 createSQLQuery 方法可以返回一个简单的标量值,例如: ```java Double max = (Double) sess.createSQLQuery("select max(cat.weight) as maxWeight from cats cat").addScalar("maxWeight", Hibernate.DOUBLE)...

    关于hibernate 的createQuery和createSqlQuery 的区别

    在 Hibernate 中,createQuery 和 createSqlQuery 是两个常用的查询方法,但是它们之间存在着一些关键的区别。了解这两个方法的差异对于正确地使用 Hibernate 进行数据库操作至关重要。 createQuery 方法 ...

    Hibernate SQLQuery执行原生SQL.docx

    2. 对象列表:使用list()方法,当查询预期返回多行时使用。 ```java List&lt;Note&gt; list = query.list(); ``` 四、自定义结果转换器 默认情况下,SQLQuery的查询结果会映射为Object数组或List[]&gt;。然而,有时我们...

    hibernate criteria的使用方法

    ### Hibernate Criteria 使用方法详解 #### 一、简介 Hibernate 是一款非常流行的 Java 持久层框架,它简化了对象关系映射(ORM)过程中的许多复杂性。在 Hibernate 中,Criteria API 提供了一种类型安全的方式来...

    java-Hibernate 检索

    Java-Hibernate 检索 Hibernate 是一个流行的 Java 持久层框架,它提供了多种检索数据的方式,包括导航对象图检索、OID 检索、HQL 检索、QBC 检索和本地 SQL 检索等。下面将详细介绍每种检索方式。 一、导航对象图...

    Hibernate+本地SQL查询SQLQuery宣贯.pdf

    List&lt;Cat&gt; cats = sess.createSQLQuery("select * from cats").addEntity(Cat.class).list(); ``` 上述代码会执行一个简单的全表查询,并将结果映射到Cat类的实例列表。这里的`addEntity()`方法用于指定查询结果应该...

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    这可以通过在Hibernate配置文件中设置`hibernate.connection.autocommit`属性为`false`,并在查询前手动设置事务,然后通过`Session`的`createSQLQuery()`或`createQuery()`方法附加`ResultSet.TYPE_SCROLL_...

    JAVA调用存储过程的三种方法

    ### JAVA调用存储过程的三种方法 在Java开发过程中,经常需要与数据库进行交互操作,其中存储过程作为一种封装好的数据库操作逻辑,在实际应用中非常常见。本文将详细介绍使用Java调用存储过程的三种方法:通过...

    Native-SQL查询 (1).ppt

    Hibernate提供`Session`接口的`createSQLQuery()`方法来创建一个`SQLQuery`对象,用于执行原生的SQL查询。例如,以下代码展示了如何通过Native SQL获取`guestbook`表的所有记录,并打印结果: ```java ...

    Hibernate+本地SQL查询SQLQuery.pdf

    List&lt;Cat&gt; cats = sess.createSQLQuery("select * from cats").addEntity(Cat.class).list(); ``` 这段代码会执行一个查询所有猫(cats)的SQL语句,并将结果映射到Cat类的实例列表中。 2. **处理字段名冲突** ...

    HIBERNATE_QUERY

    - **元组查询**:当查询结果需要返回多个字段组成的元组时,可以使用`list()`方法。 ```java Iterator[]&gt; iterator = session.createQuery("select kitten, mother from Cat kitten join kitten.mother mother") ...

    hibernateCriteria的使用.docx

    在Java的持久化框架Hibernate中,Criteria API是一种用于构建动态查询的强大工具,它允许开发者以编程方式构建查询,而不是直接写SQL语句。下面将详细解释Criteria API的使用及其相关概念。 1. Query By Example ...

    hibernate将本地SQL查询结果封装成对象

    在Java的持久化框架中,Hibernate是一个非常重要的工具,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地在Java对象和数据库表之间进行数据操作。当我们需要执行一些特殊的、复杂的或者非标准的SQL...

    在Java的Hibernate框架中使用SQL语句的简单介绍

    在Java的Hibernate框架中,使用SQL语句是一个常见的需求,特别是在处理特定的数据库操作或优化查询性能时。Hibernate,作为SSH(Spring、Struts、Hibernate)三大Web开发框架之一,提供了一种优雅的方式将对象关系...

    Hibernate3调用存储过程用法

    如果返回多条记录,可以使用list方法获取结果集。例如: ```java query.addScalar("returnColumn", Hibernate.INTEGER); List&lt;Integer&gt; result = query.list(); ``` 4. **调用存储过程** 执行SQLQuery对象的...

    Java常见异常

    以下是一些Java中常见的异常及其解决办法: 1. **Caused by: line 1:188: expecting CLOSE, found 'null'** 这个错误通常表示解析错误,可能是因为在XML或HQL(Hibernate查询语言)中遗漏了关闭的括号或其他语法...

    Hibernate查询方法之探析.doc

    `get()`方法会立即返回对象,如果数据库中没有找到,会抛出异常;而`load()`方法则返回代理对象,直到真正访问属性时才加载数据,这有助于提高性能。 综上所述,Hibernate的查询机制提供了一套全面且灵活的方法来...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     11.1.2 Java时间和日期类型的Hibernate映射类型  11.1.3 Java大对象类型的Hibernate映射类型  11.1.4 JDK自带的个别Java类的Hibernate映射类型  11.1.5 使用Hibernate内置映射类型  11.2 客户化映射类型  ...

    hibernate 执行原生sql的几种方式

    如果返回结果需要映射到实体类,可以使用`addEntity()`方法。 2. **使用`Session.doWork()`** `doWork()`方法允许我们在一个回调函数中直接操作数据库连接,执行原生SQL。这种方式更底层,可以进行更复杂的数据库...

Global site tag (gtag.js) - Google Analytics