亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不知道程序是哪兒出了錯。請幫忙看一下吧

不知道程序是哪兒出了錯。請幫忙看一下吧

ibeautiful 2023-03-12 17:13:10
Hibernate:public List<RcwhB> LoadAllGroupByName(){Session session = HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();session.beginTransaction();Query query = session.createSQLQuery("select xm,count(xm) count from RcwhB group by xm");List list = query.list();session.getTransaction().commit();return list;}==============Servlet:... ...List list = dao.LoadAllGroupByName();request.setAttribute("rcwh_Load_All_Count", list);request.getRequestDispatcher("/Admin_users/rcwh_tj.jsp").forward(request, response);==============JSP:<c:forEach items="${rcwh_Load_All_Count}" var="r">${r.xm }:${r.count }<br></c:forEach>請問有哪兒沒對嗎?用上面方法會報錯(java.lang.NumberFormatException: For input string: "xm")count在數據庫里沒有這個字段,但是我在javabean里有這個屬性拿來臨時存儲統計值的,把最上面的hibernate實現方法換成jdbcpublic List<RcwhB> loadAllByCount() {Connection conn = DBConnection.getConnection();String sql = "select xm,count(xm) cou from RcwhB group by xm";try{Statement stmt = conn.createStatement();  ResultSet rs = stmt.executeQuery(sql);  while(rs.next()){RcwhB r = new RcwhB();r.setXm(rs.getString("xm"));r.setCount(rs.getString("cou"));list.add(r); }  }catch(SQLException e){e.printStackTrace(); }return list; }就沒有問題。
查看完整描述

2 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

我印象中createSQLQuery方法,然后list里返回不是你所要的模型對象,而是一堆object類型的數組,也就是第一條記錄就是一個數組,你可以在return list 之前,把list里的東西遍歷出來看一下,這樣有助于你解決問題。

查看完整回答
反對 回復 2023-03-15
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

Query query = session.createSQLQuery("select xm,count(xm) count from RcwhB group by xm");
返回的是一個list 查詢的時候你在里面加了一個count 的字段
而你對應的RcwhB model類里面肯定沒有這個count屬性沒有getCount()和set方法 
所以導致hibernate查詢的時候不能幫你封裝成對應的modle
所以就報你上面的錯誤

查看完整回答
反對 回復 2023-03-15
  • 2 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號