數(shù)據(jù)庫查詢時(shí)間沒有了時(shí)分秒的解決辦法
數(shù)據(jù)庫查詢時(shí)間沒有了時(shí)分秒的解決辦法
轉(zhuǎn)自:http://www.cnblogs.com/lidabo/archive/2013/03/08/2950107.html
問題出處,公司一個(gè)項(xiàng)目中使用動(dòng)態(tài)sql方式查詢Oracle數(shù)據(jù)庫,在展示時(shí)Date類型字段只展示日期,無時(shí)分秒。
分析:
1、眾所周知Oralce的日期類型有很多種,Date ,Timestamp等。其中Date類型對(duì)用的是java.sql.Date類型,Timestamp對(duì)用的是java.sql.Timestamp類型。這兩個(gè)類型均繼承自java.util.Date,其中java.sql.Date是沒有時(shí)分秒的大家可以查看一下javaApi
2、ResultSet 的getObject(*)方法對(duì)用Date類型默認(rèn)返回的是java.sql.Date
3、網(wǎng)上很多人提供的解決方案是將數(shù)據(jù)庫Date類型改為Timestamp類型,顯示當(dāng)中數(shù)據(jù)庫類型DBA是不會(huì)允許你改動(dòng)的,且Oracle中對(duì)于時(shí)分秒要求不嚴(yán)格的地方DBA反而是建議用Date而不用Timestamp以節(jié)省資源
4、ibatis的ResultMap中對(duì)Date類型指定為Timestamp卻能夠正常顯示
經(jīng)過一番思考后發(fā)現(xiàn)對(duì)用Date類型的字段使用rs.getTimestamp(*)即可正常顯示
方案二、
增加服務(wù)器/Java應(yīng)用的虛擬機(jī)參數(shù):-Doracle.jdbc.V8Compatible=“true”
轉(zhuǎn)自:http://www.cnblogs.com/lidabo/archive/2013/03/08/2950107.html
問題出處,公司一個(gè)項(xiàng)目中使用動(dòng)態(tài)sql方式查詢Oracle數(shù)據(jù)庫,在展示時(shí)Date類型字段只展示日期,無時(shí)分秒。
分析:
1、眾所周知Oralce的日期類型有很多種,Date ,Timestamp等。其中Date類型對(duì)用的是java.sql.Date類型,Timestamp對(duì)用的是java.sql.Timestamp類型。這兩個(gè)類型均繼承自java.util.Date,其中java.sql.Date是沒有時(shí)分秒的大家可以查看一下javaApi
2、ResultSet 的getObject(*)方法對(duì)用Date類型默認(rèn)返回的是java.sql.Date
3、網(wǎng)上很多人提供的解決方案是將數(shù)據(jù)庫Date類型改為Timestamp類型,顯示當(dāng)中數(shù)據(jù)庫類型DBA是不會(huì)允許你改動(dòng)的,且Oracle中對(duì)于時(shí)分秒要求不嚴(yán)格的地方DBA反而是建議用Date而不用Timestamp以節(jié)省資源
4、ibatis的ResultMap中對(duì)Date類型指定為Timestamp卻能夠正常顯示
經(jīng)過一番思考后發(fā)現(xiàn)對(duì)用Date類型的字段使用rs.getTimestamp(*)即可正常顯示
方案二、
增加服務(wù)器/Java應(yīng)用的虛擬機(jī)參數(shù):-Doracle.jdbc.V8Compatible=“true”
posted on 2013-10-12 15:08 半導(dǎo)體 閱讀(519) 評(píng)論(0) 編輯 收藏 所屬分類: JAVA語法