hibernate 写createSQLQuery(sql)& 带异步async: false,抽取json对象的ajax 和dataType:"json"

本文介绍了一种从数据库中获取笔记本记录的方法,并通过日期进行分组展示。具体实现包括了DAO层的SQL查询、业务层的数据处理及前端展示等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

DAO

/**
	 * 得到处理日期的具体日
	 *@return List<SysNotebook>
	 */
	@SuppressWarnings("unchecked")
	public List<Map<String,Object>>  getNotebookDay(){
       // String hql="select noteTitle,substr(deal_date,1,2) from SysNotebook";//此地的日期是21-10月-12  日月年格式
	    String sql="select substr(deal_date,1,2) as dealDate,NOTE_TITLE as noteTitle from EG_T_SYS_NOTEBOOK";
        Query query=this.getSession().createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);//map
		List<Map<String,Object>> object=query.list();
		System.out.println(object.toString());
		return object;
	}

 


[{DEALDATE=10, NOTETITLE=sdasd}, {DEALDATE=11, NOTETITLE=dasdsad}, {DEALDATE=11, NOTETITLE=asdasd},
[{title=sdasd, dealDate=10}, {title=dasdsad<br/>asdasd, dealDate=11}, {title=asdasdasd, dealDate=12},

 

普通list装实体(private List<SysNotebook> sysNotebookList;)

[signId=257520,studentId=123123,companyId=324990]


manager

public List<Map<String,Object>> getNotebookDay() throws Exception{
    	List<Map<String,Object>> listNew=new ArrayList<Map<String,Object>>();
    	
    	String dealDate=null;
    	String title=null;
    	List<Map<String,Object>>  list=sysNotebookDao.getNotebookDay();
    	for(Map<String,Object> map:list){
           if(StringUtils.isEmpty(dealDate)){
        	   dealDate=String.valueOf(map.get("DEALDATE"));  //日期  			
               title=String.valueOf(map.get("NOTETITLE")); 	  //主题
		   }else if(dealDate.equals(String.valueOf(map.get("DEALDATE")))){
			   title+="<br/>"+String.valueOf(map.get("NOTETITLE"));
		   }else{
			   Map<String,Object>  mapNew=new HashMap<String,Object>();
			   mapNew.put("dealDate", dealDate);
			   mapNew.put("title", title);
			   listNew.add(mapNew);
			   //为第二条更新数据
			   dealDate=String.valueOf(map.get("DEALDATE"));  //日期  			
               title=String.valueOf(map.get("NOTETITLE")); 	  //主题
		   }
    	}
    	//解决最后一条list里面的数据
    	 Map<String,Object>  mapNew=new HashMap<String,Object>();
		   mapNew.put("dealDate", dealDate);
		   mapNew.put("title", title);
		   listNew.add(mapNew);
    	System.out.println(listNew.toString());
    	return listNew;
    }  


 


action

/**
	 * 得到dealDate的日,格式是json字符串
	 * void
	 * @throws Exception 
	 */
	public void getNotebookDay() throws Exception{
		object=sysNotebookManager.getNotebookDay();
		ServletActionContext.getResponse().setCharacterEncoding("utf-8");
		PrintWriter out = ServletActionContext.getResponse().getWriter();
		out.println(JSONArray.fromObject(object).toString());//转换成json字符串
	}
	


 

jsp

 

	var resultValue=$.ajax({
		 async: false,
		 type: "GET",
		 url: "sys-notebook!getNotebookDay.action",
		 success : function(data){//json对象
		 
		 }
   }).responseText;
  var resultValueObj=eval("("+resultValue+")")
      var html="<table>";
	
		 for(var i=1;i<resultValueObj.length;i++){
		      html+="<tr>";
		      html+="<td>"+resultValueObj[i].DEALDATE+"</td>";
		      html+="<td>"+resultValueObj[i].NOTETITLE+"</td>";
		      html+="</tr>";
		 }

		/*  var html="<table>";
		 $.each(resultValueObj,function(index,item){
		      html+="<tr>";
		      html+="<td>"+item.DEALDATE+"</td>";
		      html+="<td>"+item.NOTETITLE+"</td>";
		      html+="</tr>";
		 });
		 html+="</table>";
		 $("#resultDiv").html(html); */
		 
		 html+="</table>";
		 $("#resultDiv").html(html);
  /* $.ajax({
		 type: "GET",
		 url: "sys-notebook!getNotebookDay.action",
		 dataType: "json",
		 success : function(data){//json对象
		 var html="<table>";
		 $.each(data,function(index,item){
		      html+="<tr>";
		      html+="<td>"+item.DEALDATE+"</td>";
		      html+="<td>"+item.NOTETITLE+"</td>";
		      html+="</tr>";
		 });
		 html+="</table>";
		 $("#resultDiv").html(html);
		 }
   });
   */



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值