#
數據庫查詢時間沒有了時分秒的解決辦法
轉自:http://www.cnblogs.com/lidabo/archive/2013/03/08/2950107.html 問題出處,公司一個項目中使用動態sql方式查詢Oracle數據庫,在展示時Date類型字段只展示日期,無時分秒。 分析: 1、眾所周知Oralce的日期類型有很多種,Date ,Timestamp等。其中Date類型對用的是java.sql.Date類型,Timestamp對用的是java.sql.Timestamp類型。這兩個類型均繼承自java.util.Date,其中java.sql.Date是沒有時分秒的大家可以查看一下javaApi 2、ResultSet 的getObject(*)方法對用Date類型默認返回的是java.sql.Date 3、網上很多人提供的解決方案是將數據庫Date類型改為Timestamp類型,顯示當中數據庫類型DBA是不會允許你改動的,且Oracle中對于時分秒要求不嚴格的地方DBA反而是建議用Date而不用Timestamp以節省資源 4、ibatis的ResultMap中對Date類型指定為Timestamp卻能夠正常顯示 經過一番思考后發現對用Date類型的字段使用rs.getTimestamp(*)即可正常顯示 方案二、 增加服務器/Java應用的虛擬機參數:-Doracle.jdbc.V8Compatible=“true”
方法一:類轉換為map
JAVA中編寫類CacheManager,方法如下:
public void contextInitialized(javax.servlet.ServletContextEvent arg0) {
WebInfoDBO webInfoDBO = (WebInfoDBO) SpringContext.getBean("WebInfoDBO");
List list = webInfoDBO.queryBySql(" select detail_id as \"detailId\", genre_id as \"genreId\",type_two as \"typeTwo\", " + "title_name as \"titleName\",is_issue as \"isIssue\",is_hot as \"isHot\",content as \"content\"" + "from (select detail_id,genre_id,type_two, title_name, is_issue,is_hot,(select content from web_content c where web_info_d.detail_id=c.detail_id and is_hot='1') content,"
+ "rank() over(partition by genre_id order by sort_code,upt_date desc) rn from web_info_d where is_issue='1') where rn<=1", WebInfoD.class);
for (int i = 0; i < list.size(); i++) {
WebInfoD webInfoD = (WebInfoD) list.get(i);
tableComent.put("webInfoD", webInfoD);
}
}
在JSP頁面獲取值方法:CacheManager:
CacheManager cm = new CacheManager();
WebInfoD webInfoD = (WebInfoD) cm.tableComent.get("webInfoD");
out.println(webInfoD.getDetailId());
out.println(cm.tableComent.get("detailId"));
方法二:類轉換為map中KEY,VALUE
JAVA中:
public void contextInitialized(javax.servlet.ServletContextEvent arg0) {
SysDictBO sysDictBO = (SysDictBO) SpringContext.getBean("SysDictBO");
List list = sysDictBO.queryBySql(" select TYPE_DESC_ID as \"typeDescId\", TYPE_DESC_NAME as \"typeDescName\" from Sys_Dict_d d,sys_dict h where h.type_id=d.type_id", SysDictD.class);
for (int i = 0; i < list.size(); i++) {
SysDictD sysDictD = (SysDictD) list.get(i);
tableComent.put(sysDictD.getTypeDescId(),sysDictD.getTypeDescName());
}
}
JSP中:
<%@ page import="com.gzlt.framework.cache.CacheManager" %>
CacheManager cm = new CacheManager();
WebInfoD webInfoD = (WebInfoD) cm.tableComent;
out.println(cm.tableComent.get("402881c9405be55f01405c12f8240003"));
Object[] o = (Object[]) page.getListSum().get(0);//這里是對象
System.out.println("==="+o[1]);
01.在hibernate中,用hql語句查詢實體類,采用list方法的返回結果為一個List,該List中封裝的對象分為以下三種情況:
02.
03.1.查詢全部字段的情況下,如"from 實體類",list中封裝的對象為實體類本身,各屬性都將得到填充。
04.
05.2.只查詢一個字段,默認情況下,list中封裝的是Object對象。
06.
07.3.查詢兩個或兩個以上的字段,默認情況下,list中封裝的是Object[],長度與所查詢的字段數一致。
08.
09.對于后兩種情況,用標簽遍歷時不太方便,因為無法直接轉換成實體類的對象。
3.查詢兩個或兩個以上的字段,默認情況下,list中封裝的是Object[],長度與所查詢的字段數一致。
set的時候,list里面保存的是對象[]
application.getRealPath("/"); 獲取項目根目錄,如:D:\apache-tomcat-7.0.23\webapps\sxzx\
String baseURL = request.getContextPath();
String uri = request.getRequestURI();
<div id="formcontent"></div>
<script type="text/javascript">
//發文呈報模板
$.get("../formfiles/export/402881c9405ba15a01405bc2f0fe000a.txt",
function(data){//寫入到對應ID
document.getElementById("formcontent").innerHTML=data;
});
</script>
//用sys用戶登錄
C:\Users\Administrator>sqlplus
SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 8月 19 16:25:18 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
請輸入用戶名: sys/sys as sysdba
//用操作系統登錄:
C:\Users\Administrator>sqlplus / as sysdba
生成UUID:sys_guid()
字符轉換為小寫:NLS_LOWER()
查看'_"字符:instr(english_name,'_')
字符全部轉換為大寫:NLS_UPPER(x[,y])
首字母轉換為大寫:NLS_INITCAP
Map<String, String> classColumnMap = new HashMap();
Class classType=null;
classType = Class.forName(beanName);
Field allFields[]=classType.getDeclaredFields();
for(int i=0;i<allFields.length;i++)
{
classColumnMap.put(allFields[i].getName(),allFields[i].getType());
}
JAVA中:
super.getSession().put("sysobject", list);
JSP中:、
<select id="def" name="def">
<c:forEach var="sysobject" items="${session.sysobject }" >
<option name="" value=" ${sysobject.englishName}" datevalue="ddd"> ${sysobject.chnName}</option>
</c:forEach>
</select>
或用struct標簽實現:
<s:iterator value="#session.list">