1. 程式人生 > >java中 sql查詢結果集轉換成javabean

java中 sql查詢結果集轉換成javabean

1.

public List<Map> findBySql(String sql,Class cls) {
if (logger.isDebugEnabled()) {
logger.debug("findBySql(String, Class) - start"); //$NON-NLS-1$
}


SQLQuery q = getCurrentSession().createSQLQuery(sql).addEntity(cls);
List<Map> returnList = q.list();
if (logger.isDebugEnabled()) {
logger.debug("findBySql(String, Class) - end"); //$NON-NLS-1$
}
return returnList;
}

hibernate的addEntity(),addScalar()等方式

2.

今天碰到的,因為接收到值是一個json格式字串{"org_no":xxx,"sys_no":"xxx","age":11}之類的格式

public String removeSpace(String str){
Map<String,Object> map = new HashMap<String,Object>();
if(StringUtils.isNotBlank(str)){
JSONObject jo = JSONObject.parseObject(str);
Set <String> keys =jo.keySet();
for(String k :keys){
String key = "\""+k.replaceAll("(.+)_(\\w)(.*?)", "$1$2$3")+"\"";
Object value = jo.get(k);
map.put(key, value);
}
}
String s =JSON.toJSONString(map);
return s;
}

先去除了key的下劃線

JSONObject.parseObject(removeSpace(str), WhsReceiptM.class)

轉換成javabean

相關推薦

java sql查詢結果轉換javabean

1. public List<Map> findBySql(String sql,Class cls) {if (logger.isDebugEnabled()) {logger.debug("findBySql(String, Class) - start")

Java將JDBC ResultSet結果轉換Map

public Map<String,List<String>> handle(ResultSet set) throws SQLException { Map<String,List<String>> map =

SQL Server 通過SQL語句將查詢結果拼接字串

首先,我們要了解一下兩個SQL語法 1. FOR XML PATH FOR XML PATH 可以將查詢結果根據行輸出成XML各式 SELECT USER_ID FROM test FOR XML PATH 表結構: 執行結果: <row>

javasql查詢條件為中文時,rs.next為false,查詢不到結果的解決辦法

經過查詢資料,發現這是字符集編碼問題,我們只需要按下面設定程式碼就可以了: String url = "jdbc:mysql://localhost:3306/dictionary?useUnicod

關於java返回ResultSet結果行數

1. 如何獲取返回ResultSet結果集的行數: (1).括號內部沒有引數,則可以用以下方法 st=conn.createStatement();    int  rowcount = 0; R

java如何將字元陣列轉換字串,以逗號分割

String[] ary = {"abc", "123", "45"};  StringBuffer sb = new StringBuffer(); for(int i = 0; i < ary.length; i++) { sb. append(ary[i]..t

Java之JDBC查詢結果封裝到物件

工程目錄結構如下:User類:package com.xiao.pojo; /** * @author 笑笑 * @Date 2018年3月15日上午9:20:28 * */ publi

java如何將字串陣列轉換字串

如果是 “字串陣列” 轉 “字串”,只能通過迴圈,沒有其它方法 String[] str = {"abc", "bcd", "def"};StringBuffer sb = new StringBuffer();for(int i = 0; i < str.lengt

Hibernate 查詢結果自定義模型類class

     這個問題網上的寫的粗糙,或者是問題答案不是本人想要的,這裡給出簡潔回答,大家都能看懂。      log.debug("finding all Tbsensor instances");      try {                     StringB

javaSQL查詢語句有like '%?%'怎麼寫

  在mysql裡面我們直接用;這條sql語句。是沒有什麼問題的,執行的結果如下但是我們想要在java裡面寫一條sql語句能和這條語句相同。一開始,我在java裡面用了這一條語句當我執行結果時,我發現報了一個java.lang.StackOverflowError異常,我也去

java怎樣將Date型別轉換字串型別

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Date date = new Date();format.format(date);

MyBatis查詢結果對映到JavaBean原理淺談

MyBatis對JDBC做了很好的封裝,其中一個吸引人的地方就是能夠對從資料庫內查詢出來的表的記錄集對映生成一系列JavaBean,供應用程式使用。今天跟著原始碼一層一層探討一下MyBatis把資料庫記錄集對映到POJO物件的一個簡要的過程。 1. DefaultResul

如果將Java從資料庫查詢到的結果轉換為Json陣列形式

package util; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.util.Date; import net.sf.json.JSONArray; import n

SqlServer和Oracle從多行記錄(資料查詢結果並拼接一個字串的SQL語句(縱表資料轉拼接的文字)

使用情景: 例如:需要從學生成績表中,查詢分數大於95分的所有學生編號,用逗號分隔成一個字串。 準備測試資料: create table score (id int,score int) insert into score values(1,90) insert into

hibernateTemplate 使用原生sql查詢,並將查詢結果直接封裝map物件

private List<?> findBySQLForWhat(String sql,Object[] args,String what) { SQLQuery query = this.getSession().createSQLQuery(sql);

hibernate將普通查詢sql結果物件列表

在ssh2開發中遇到,資料庫中並沒有設定表的外來鍵關係,用hibernate的hql就不能達到關聯查詢的效果。 現在只能寫sql關聯,再寫程式碼把結果集轉成物件列表 。 現在用     SQLQuery.addEntity()方法可以實現hibernate自動把結果集轉成物

SQL實現結果的各種轉換----結果多列

      之前一篇講述瞭如何將結果集轉成一列,下面介紹如何將一個結果集轉為多列。       假設原資料表如圖1所示,現在要將如圖2顯示的結果集轉換為如圖3所示的結果集。                                                    

JAVA那點兒事之查詢SQL Sever結果為空

錯誤描述: 在JAVA程式中查詢SQL Sever時,有時會出現明明資料庫中存在資料,但是查詢解決為空,錯誤程式碼為: com.microsoft.sqlserver.jdbc.SQLServerException: 結果集沒有當前行。 錯誤程式碼: 相關的表如下:

Oracle的PL/SQLselect * from 查詢結果

   看到很多新手朋友想在儲存過程或者匿名塊中直接使用select * form table語句直接返回結果集,這樣子是會提示錯誤的,因為PL/SQL塊中不能用select 語句,而必須用select

mysql的多行查詢結果合並一個(轉)

get asc 數據 利用 sel tor _id and ont SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 AND