利用Reflection反射將物件轉化為 List和Model
public class ReflectionConvertHelper { public static List<T> ConvertToList<T>(DataTable dt) { List<T> list = new List<T>();// 定義集合 Type type = typeof(T);// 獲得此模型的型別 string fieldName = string.Empty;// 定義欄位名稱 PropertyInfo[] propertys = type.GetProperties();// 獲得此模型的公共屬性 foreach (DataRow dr in dt.Rows) { //新建一個模型 object obj = type.Assembly.CreateInstance(type.FullName); foreach (PropertyInfo propertyInfo in propertys) { fieldName = propertyInfo.Name; if (dt.Columns.Contains(fieldName)) { if (!propertyInfo.CanWrite) continue; object value = dr[fieldName]; if (value != DBNull.Value) propertyInfo.SetValue(obj, value, null); } } list.Add((T)obj); } return list; } public static List<T> ConvertToList<T>(IDataReader reader) { List<T> list = new List<T>(); // 定義集合 Type type = typeof(T); // 獲得此模型的型別 string fieldName = string.Empty; // 定義欄位名稱 PropertyInfo[] propertys = type.GetProperties();// 獲得此模型的公共屬性 while (reader.Read()) { //新建一個模型 object obj = type.Assembly.CreateInstance(type.FullName); foreach (PropertyInfo propertyInfo in propertys) { fieldName = propertyInfo.Name; if (ReaderExists(reader, fieldName)) { if (!propertyInfo.CanWrite) continue; object value = reader[fieldName]; if (value != DBNull.Value) propertyInfo.SetValue(obj, value, null); } } list.Add((T)obj); } return list; } public static T ConvertToModel<T>(IDataReader reader) { Type type = typeof(T); PropertyInfo[] proList = type.GetProperties(); //新建一個模型 object obj = type.Assembly.CreateInstance(type.FullName); string fieldName = string.Empty; // 定義欄位名稱 if (reader.Read()) { foreach (PropertyInfo propertyInfo in proList) { fieldName = propertyInfo.Name; if (ReaderExists(reader, propertyInfo.Name)) { if (!propertyInfo.CanWrite) continue; object value = reader[fieldName]; if (value != DBNull.Value) propertyInfo.SetValue(obj, value, null); } } } return (T)obj; } public static T ConvertToModel<T>(DataRow row) { Type type = typeof(T); PropertyInfo[] proList = type.GetProperties(); //新建一個模型 object obj = type.Assembly.CreateInstance(type.FullName); string fieldName = string.Empty; // 定義欄位名稱 foreach (PropertyInfo propertyInfo in proList) { fieldName = propertyInfo.Name; if (row.Table.Columns.Contains(fieldName)) { if (!propertyInfo.CanWrite) continue; object value = row[fieldName]; if (value != DBNull.Value) propertyInfo.SetValue(obj, value, null); } } return (T)obj; } /// <summary> /// 驗證reader是否存在某列 /// </summary> /// <param name="reader"></param> /// <param name="columnName"></param> /// <returns></returns> private static bool ReaderExists(IDataReader reader, string columnName) { int count = reader.FieldCount; for (int i = 0; i < count; i++) { if (reader.GetName(i).Equals(columnName)) { return true; } } return false; } }
相關推薦
利用Reflection反射將物件轉化為 List和Model
public class ReflectionConvertHelper { public static List<T> ConvertToList<T>(DataTable dt) {
Gson通過反射將Json轉化為java物件
Gson是Google提供的用來在Java物件和JSON資料之間進行對映的Java類庫。可以將一個Json字元轉成一個Java物件
TcpTransfer 將物件轉化為tcp協議傳輸的byte陣列(根據位元組序和位元組數)
最近做一個將物件轉換成tcp資料的功能,將物件按一定規律轉換為byte陣列,可以分類去解析,但是太麻煩了,程式碼冗長.決定採取使用一個通用的方法去實現物件轉陣列的功能 TcpTransfer transfer object (with annotation
如何通過Java程式碼將JsonArray轉化為list集合
在開發中有時候我們有時候會將JSONArray轉化為list的需求 JSONArray jsonArray = [{"colName":"2017年01月","addNum":"539","totalNum":"8395"},{"colName":"2017年02月",
Java8中使用filter()過濾列表,使用collect將stream轉化為list
Reference: https://www.mkyong.com/java8/java-8-streams-filter-examples/ /* In Java 8, using stream.filter() to filter a List, and colle
java把實體物件轉化成list和map
普通方式: 某一個實體有較多欄位,想把實體內的資料顯示到excel中去,但是,又不想低效率的一列一列顯示資料 所以,想把實體物件轉化成list,遍歷表格的同時顯示這個實體的資料. 下面是把實體物件轉化成list和map的方法. 需要引用兩個jar包:commons-b
java將圖片轉化為base64和base64轉化為圖片編碼並儲存在本地
直接上程式碼public class Base64Convert { /** * @Description: 圖片轉化成base64字串 * @param: path * @Return: */ public static S
利用java反射機制實現List<Map<String, Object>>轉化為List<JavaBean>
tis one row 註解 網上 span mybatis star mod 最近在用mybatis做項目,遇到將date格式化顯示到easyui的問題,需要將List<Map<String, Object>>轉化為List<JavaBean
利用反射,將Map轉化為Object
已經知道物件的型別,以及屬性對應的值,且值儲存在map物件中,將該map轉換為已知型別的物件。 /** * 將Map物件通過反射機制轉換成Bean物件 * * @param map存放資料的map物件 * @param clazz待轉換的class * @r
將一個字串物件陣列轉化為List
String st; Gson gson = new Gson(); Type listType = new TypeToken<List<SearchMo
利用反射將xml轉換為List<Object>
反射 uppercase 效率 code varchar2 對象 測試的 trac getname 在將xml轉為實體類的時候,一直對於類型為Integer, date等的很難處理, 無法轉換, 但是後來我發現通過反射可以解決這一問題, 下面和大家分享一下 首先: 給
Android開發將List轉化為JsonArray和JsonObject
客戶端需要將List<Object>轉化為JsonArray和JsonObject的方法: 首先,List中的Object的屬性需要是public: class Person { public String name; public S
Gson基本使用 -- 解析json,jsonArray。將任意java物件轉化為json格式
Gson是一款幫助解析Json,JsonArray和將Java物件轉換為Json格式的框架。一、將json解析為java物件先看效果圖程式碼實現1.在app模組的build.gradle的dependencies中引入Gsonimplementation 'com.g
Servlet中如何將json物件轉化為Java中的自定義物件
前段ajax$("#form1").submit(function() { var cname = $("input[name=cname]").val(); var sup_compan
javascript中無法將string轉化為json物件
在一次專案之中,我要對請求的相應做一些處理,得到的響應差不多是這中格式‘{total:1,result:[{“age”:1}]}’.可以看到我拿到的這個相應和JSON的格式是非常相似的,一開始我認為只要用JSON.parse進行轉化,但是這始終會報錯,無法進行轉
利用java反射將結果集封裝成為物件和物件集合
java反射機制是什麼 反射機制是在執行狀態中,可以知道任何一個類的屬性和方法,並且呼叫類的屬性和方法; 反射機制能夠做什麼 1、判斷執行物件的所屬類 2、構造任意一個類的物件 3、獲取任意一個類的屬性和方法 4、呼叫任意屬性和方法 5、
將xml檔案物件轉化為Map物件
一、基本思路 先將xml檔案轉化為document物件,並獲取到根節點,然後依次遍歷二級節點 如果二級節點擁有子節點的話:進入遞迴 如果二級節點沒有子節點的話:將資料封裝在本層Map 中 如果二級節點部分擁有子節點,部分沒有子節點,那麼進行特殊處理。 二、具體程式碼
將數組轉化為List集合
out 字符 轉換 nbsp 輸出 mil tro () sts 字符串轉換為數組、將數組轉換為List集合 public void testStringToList(){ String s="123-abc-456"; System.out.println(
使用JAXB 將javabean 轉化為xml物件
最近做微信支付 需要傳遞xml格式的資料。 之前都是用map<String,String>轉xml 感覺
將MySQL轉化為mysqli
har exit etc 語句 mit mman ray 大神 eal <?php/** * Created by PhpStorm. * User: 大神 * Date: 2017/7/24 * Time: 11:29 */header(‘content-type