JBOSS 点滴

丰丰的博客

#

数据库查询时间没有了时分秒的解决办法

数据库查询时间没有了时分秒的解决办法

转自: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” 

posted @ 2013-10-12 15:08 半导体 阅读(497) | 评论 (0)编辑 收藏

启动参数放MAP,转换为对象,用户编码找到用户名

方法一:类转换为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"));


posted @ 2013-09-06 16:00 半导体 阅读(203) | 评论 (0)编辑 收藏

对象取值,无属性名称的取值。

             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里面保存的是对象[]

posted @ 2013-09-03 15:26 半导体 阅读(213) | 评论 (0)编辑 收藏

判断是什么类型

.getClass().getName()

posted @ 2013-09-03 15:20 半导体 阅读(148) | 评论 (0)编辑 收藏

获取值方法

application.getRealPath("/");    获取项目根目录,如:D:\apache-tomcat-7.0.23\webapps\sxzx\
   String baseURL = request.getContextPath();
   String uri = request.getRequestURI();

posted @ 2013-08-22 17:25 半导体 阅读(151) | 评论 (0)编辑 收藏

ajax实现获取文件内容并写入

       <div id="formcontent"></div>
        <script type="text/javascript">
        //发文呈报模板
       $.get("../formfiles/export/402881c9405ba15a01405bc2f0fe000a.txt",
       function(data){//写入到对应ID
        document.getElementById("formcontent").innerHTML=data;
        });   
       </script>

posted @ 2013-08-22 16:42 半导体 阅读(208) | 评论 (0)编辑 收藏

oracle管理员身份登录

//用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

 

posted @ 2013-08-19 16:28 半导体 阅读(325) | 评论 (0)编辑 收藏

ORACLE中常用语法

生成UUID:sys_guid()
字符转换为小写:NLS_LOWER()

查看'_"字符:instr(english_name,'_')
字符全部转换为大写:NLS_UPPER(x[,y])
首字母转换为大写:NLS_INITCAP

posted @ 2013-08-16 17:15 半导体 阅读(180) | 评论 (0)编辑 收藏

取实体类的属性名

  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());

    }

posted @ 2013-08-16 15:17 半导体 阅读(164) | 评论 (0)编辑 收藏

把对象传入session在JSP页面取值方法:

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">

posted @ 2013-08-16 10:40 半导体 阅读(211) | 评论 (0)编辑 收藏

仅列出标题
共27页: First 上一页 4 5 6 7 8 9 10 11 12 下一页 Last