国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

iBATIS.NET字段映射自定義對(duì)象淺析

開發(fā) 后端
iBATIS.NET字段映射是什么呢?本文向你介紹如何使用iBATIS.NET把字段映射成自定義對(duì)象。

iBATIS.NET字段映射是什么意思呢?在iBATIS.NET中,查詢后的結(jié)果會(huì)自動(dòng)將每一個(gè)字段映射成Domain中的一個(gè)屬性值,這個(gè)映射的過程是通過TypeHandlerFactory類進(jìn)行的,在程序初始化時(shí)注冊(cè)了一些系統(tǒng)類和類型轉(zhuǎn)換類之間的關(guān)系:

  1. handler = new NullableBooleanTypeHandler();  
  2. this.Register(typeof(bool?), handler);  
  3.  
  4. handler = new NullableByteTypeHandler();  
  5. this.Register(typeof(byte?), handler);  
  6.  
  7. handler = new NullableCharTypeHandler();  
  8. this.Register(typeof(char?), handler);  
  9.  
  10. handler = new NullableDateTimeTypeHandler();  
  11. this.Register(typeof(DateTime?), handler);  
  12.  
  13. handler = new NullableDecimalTypeHandler();  
  14. this.Register(typeof(decimal?), handler);  
  15.  
  16. handler = new NullableDoubleTypeHandler();  
  17. this.Register(typeof(double?), handler);  
  18.  
  19. handler = new NullableGuidTypeHandler();  
  20. this.Register(typeof(Guid?), handler);  
  21.  
  22. handler = new NullableInt16TypeHandler();  
  23. this.Register(typeof(Int16?), handler);  
  24.  
  25. handler = new NullableInt32TypeHandler();  
  26. this.Register(typeof(Int32?), handler);  
  27.  
  28. handler = new NullableInt64TypeHandler();  
  29. this.Register(typeof(Int64?), handler);  
  30.  
  31. handler = new NullableSingleTypeHandler();  
  32. this.Register(typeof(Single?), handler);  
  33.  
  34. handler = new NullableUInt16TypeHandler();  
  35. this.Register(typeof(UInt16?), handler);  
  36.  
  37. handler = new NullableUInt32TypeHandler();  
  38. this.Register(typeof(UInt32?), handler);  
  39.  
  40. handler = new NullableUInt64TypeHandler();  
  41. this.Register(typeof(UInt64?), handler);  
  42.  
  43. handler = new NullableSByteTypeHandler();  
  44. this.Register(typeof(SByte?), handler);  
  45.  
  46. handler = new NullableTimeSpanTypeHandler();  
  47. this.Register(typeof(TimeSpan?), handler); 

那么如果想將數(shù)據(jù)庫中的一個(gè)字段映射成我們自己的一個(gè)類,在這個(gè)類中進(jìn)行一些個(gè)性化處理,應(yīng)該怎么辦呢?

本來我想仿照StringTypeHandler類寫一個(gè)自己的類型處理類,但是通過查看iBATIS的源代碼,就算寫好了自己的類型處理類,好像也找不到注冊(cè)的接口(如果哪位兄弟找到了接口,望告知)

另一種方式是通過已經(jīng)注冊(cè)的CustomTypeHandler類型,實(shí)行其中的ITypeHandlerCallback接口來實(shí)現(xiàn)的,具體實(shí)現(xiàn)方式如下:

我這里實(shí)現(xiàn)的只是一個(gè)演示程序,演示將數(shù)據(jù)庫中的Account_LastName和Account_Email字段映射成自定義的Property類型,同時(shí)把它們放入一個(gè)Hashtable中。

iBATIS.NET字段映射1、

自定義Property類

  1. namespace GSpring.Common  
  2. {  
  3.     public class Property  
  4.     {  
  5.         private string _dataValue;  
  6.  
  7.         public string DataValue  
  8.         {  
  9.             get { return _dataValue; }  
  10.             set { _dataValue = value; }  
  11.         }  
  12.  
  13.         private string _dataType;  
  14.  
  15.         public string DataType  
  16.         {  
  17.             get { return _dataType; }  
  18.             set { _dataType = value; }  
  19.         }  
  20.     }  

iBATIS.NET字段映射2、

實(shí)現(xiàn)ITypeHandlerCallback接口的類

  1. namespace GSpring.Common  
  2. {  
  3.     public sealed class PropertyTypeHandler : ITypeHandlerCallback  
  4.     {  
  5.  
  6.         public object ValueOf(string Value)  
  7.         {  
  8.             Property obj = new Property();  
  9.             obj.DataValue = Value;  
  10.             return obj;  
  11.         }  
  12.  
  13.         public object GetResult(IResultGetter getter)  
  14.         {  
  15.             Property obj = new Property();  
  16.             if (getter.Value != null && getter.Value != System.DBNull.Value)  
  17.             {  
  18.                 obj.DataValue = (string)getter.Value;  
  19.             }  
  20.             return obj;  
  21.         }  
  22.  
  23.         public void SetParameter(IParameterSetter setter, object parameter)  
  24.         {  
  25.             setter.Value = ((Property)parameter).DataValue;  
  26.         }  
  27.  
  28.         public object NullValue  
  29.         {  
  30.             get { return null; }  
  31.         }  
  32.     }  
  33.  

主要是其中的GetResult和SetParameter方法,實(shí)現(xiàn)和數(shù)據(jù)庫之間的存取操作。

iBATIS.NET字段映射3、

修改對(duì)應(yīng)的Domain類,加入兩個(gè)屬性:

  1. public Hashtable ht = new Hashtable();  
  2. Property _emailAddress1 = new Property();  
  3. public Property EmailAddress1  
  4. {  
  5.     get  
  6.     {  
  7.         return _emailAddress1;  
  8.     }  
  9.     set  
  10.     {  
  11.         _emailAddress1.DataType = "string";  
  12.         _emailAddress1.DataValue = value.DataValue;  
  13.         ht["郵件"] = _emailAddress1;  
  14.     }  
  15. }  
  16.  
  17. Property _lastName1 = new Property();  
  18. public Property LastName1  
  19. {  
  20.     get  
  21.     {  
  22.         return _lastName1;  
  23.     }  
  24.     set  
  25.     {  
  26.         _lastName1.DataType = "string";  
  27.         _lastName1.DataValue = value.DataValue;  
  28.         ht["姓名"] = _lastName1;  
  29.     }  

iBATIS.NET字段映射4、

修改配置文件:

  1. ﹤resultMap id="account-result"  class="Account" ﹥  
  2.     ﹤result property="Id"           column="Account_ID"/﹥  
  3.     ﹤result property="FirstName"    column="Account_FirstName"/﹥  
  4.     ﹤result property="LastName1"     column="Account_LastName"  typeHandler="GSpring.Common.PropertyTypeHandler"/﹥  
  5.     ﹤result property="EmailAddress1" column="Account_Email" typeHandler="GSpring.Common.PropertyTypeHandler"/﹥  
  6. ﹤/resultMap﹥ 

主要是利用了其中的typeHandler屬性來指定一個(gè)類型轉(zhuǎn)換器。

以上就是iBATIS.NET字段映射的一些基本情況,希望對(duì)你有所幫助。

【編輯推薦】

  1. iBATIS.NET中兩大常用的DAO淺談
  2. iBATIS.NET數(shù)據(jù)庫緩存模式淺析
  3. iBATIS.NET常用的查詢方式淺析
  4. iBATIS.NET中的多表查詢方法淺析
  5. iBATIS.NET日志處理淺析
責(zé)任編輯:仲衡 來源: cnblogs
相關(guān)推薦

2009-07-22 09:07:01

iBATIS.NET

2009-07-20 13:22:47

iBATIS.Net日

2009-07-20 10:06:07

iBATIS.net查詢方式

2009-07-20 14:56:18

iBATIS.NET動(dòng)態(tài)選擇DAO

2009-07-21 13:50:00

iBATIS.NET調(diào)

2009-07-21 15:21:59

iBATIS.NET多

2009-07-20 09:51:19

iBATIS.net數(shù)據(jù)庫緩存

2009-07-20 15:14:44

iBATIS.NET連

2009-07-21 16:30:15

iBATIS.NET與單元測(cè)試

2009-07-15 17:58:07

iBATIS 動(dòng)態(tài)映射

2009-07-16 13:50:31

ibatisResultMap

2009-08-06 17:13:56

ASP.NET自定義控

2009-08-10 14:16:59

ASP.NET自定義控

2009-07-28 09:32:41

ASP.NET自定義控

2009-07-21 17:06:35

iBATIS.NET執(zhí)

2009-07-22 14:28:52

iBATIS.NET配

2009-07-22 14:11:09

配置ibatis.neiBatis.net配

2009-11-12 16:14:28

ADO.NET自定義對(duì)

2009-07-21 14:15:00

iBATIS.NET多

2009-07-20 15:27:22

Castle.DynaiBATIS.NET
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲成人最新网站| 成人羞羞视频在线看网址| av资源在线观看免费高清| 青青青免费在线| 国产精品日韩欧美一区二区三区 | 欧美hdfree性xxxx| 在线视频一二三区| 国产自产精品| 国产日韩在线播放| 国内精品久久久久久中文字幕| 亚洲人成精品久久久久久| 国产精品美女免费视频| 资源网第一页久久久| 九热视频在线观看| 一级毛片aaaaaa免费看| 天天在线视频色| 国产露出视频在线观看| 国产精品v欧美精品∨日韩| 欧美精品激情在线观看| 国产一区二区三区在线免费观看| 日韩亚洲欧美成人一区| 精品国产福利在线| 国产精品亲子伦对白| 成人av网站免费| 精品一区二区在线看| 在线综合欧美| 精品999成人| 欧美日韩一卡| 综合五月婷婷| 欧美成人自拍| 欧美一区二区三区激情视频| 伊人久久大香线蕉av不卡| 一区中文字幕电影| 日韩中文字幕在线一区| 成人国产精品一区二区网站| 久久久加勒比| 欧美亚洲综合视频| 国产精品久久久久久久久免费高清| 欧美成人免费电影| 亚洲一区站长工具| 国产丝袜在线播放| xxxx另类黑人| 国产精品13p| 成年男女免费视频网站不卡| 福利影院在线看| 欧美成人黑人| 亚洲电影有码| 自拍偷拍亚洲| caoporn成人| 人人精品视频| 国产在视频线精品视频www666| 国产一区网站| 国产精品久久天天影视| 在线成人激情| 亚洲黄页一区| 日日夜夜精品免费视频| 久久国产精品色| 国产成人99久久亚洲综合精品| 成人一区二区三区视频在线观看| 成人精品视频一区| 国产亚洲综合av| 国产精品理论在线观看| 亚洲精品久久7777| 精品福利在线观看| 欧美日韩亚洲综合| 日韩免费一区二区三区在线播放| 精品国产污网站| 国产一区二区成人| 久久伊人精品天天| 7777kkkk成人观看| 成人免费网站在线| 精品国产乱码久久久久久88av| 日本精品二区| 97免费视频观看| 成人性做爰aaa片免费看不忠| 污网站在线观看免费| 最新av在线| 欧美日韩在线看片| 国产在线看片免费视频在线观看| 欧美日韩国产网站| 国产成人tv| 天天av综合| 久久久噜噜噜久久狠狠50岁| 国产一区不卡在线| 国产亚洲一区字幕| 黄色精品在线看| 日韩午夜在线影院| 中文字幕精品视频| 97国产精品人人爽人人做| 国产一区二区在线免费视频| 久久久久网址| 国产肉体ⅹxxx137大胆| 成人黄色免费电影| 久草在现在线| 69av成人| 97久久亚洲| 你懂的视频一区二区| 久久99久久99| 中文字幕av一区二区三区免费看| 精品久久久久久久久久| 精品精品欲导航| 九九九热精品免费视频观看网站| 国产精自产拍久久久久久| 日本黑人久久| 亚洲天堂av线| 国产尤物视频在线| 国模视频一区| 奇米影视亚洲| 老色鬼精品视频在线观看播放| 国产欧美一区二区三区在线老狼| 色偷偷久久一区二区三区| 国产午夜精品久久久| 欧美一级淫片aaaaaaa视频| 国产精品一区二区三区免费观看| 无码熟妇人妻av在线电影| 美日韩黄色片| a'aaa级片在线观看| 三级小说欧洲区亚洲区| 午夜亚洲视频| 国产精品天美传媒沈樵| 欧美精品日韩一区| 欧美精品做受xxx性少妇| 999日本视频| 欧美日韩亚洲一| 成a人v在线播放| 国产亚洲精aa在线看| 亚洲国产精品第一区二区| 久久久久久亚洲综合影院红桃| 在线中文字幕一区二区| 日韩有码在线电影| 99视频免费观看| 久久无码高潮喷水| 在线日本中文字幕| 亚洲成人五区| 久久蜜桃资源一区二区老牛| 中文字幕综合网| 亚洲激情小视频| 国产精品爽爽爽爽爽爽在线观看| 99re8这里只有精品| 亚洲免费av一区二区| 99精品国自产在线| 伊人久久久大香线蕉综合直播 | 亚洲最大成人免费视频| 欧美人成在线观看| 日本国产在线| 日韩三级久久| 日韩电影免费一区| 亚洲一区二区三区四区五区中文| 亚洲精品久久久久中文字幕欢迎你 | 国产iv一区二区三区| 午夜电影一区二区| 国产一区二区动漫| 精品国产乱码久久久久久88av| 日韩精品你懂的| 俺来也官网欧美久久精品| 久久美女精品| 久久久精品欧美丰满| 精品免费国产二区三区 | 9l亚洲国产成人精品一区二三| 久久av一区| 亚洲午夜久久久久中文字幕久| 国产一区二区三区久久精品| 成人av蜜桃| 18av网站| 日本在线一区二区| 日韩黄色免费电影| 欧美午夜视频在线观看| 久久综合久久88| 国产999精品久久| 中文字幕va一区二区三区| 精品国产乱码久久久久久牛牛| 国产成人在线精品| 国产极品尤物在线| 婷婷色在线播放| 婷婷综合激情| 中文字幕一区三区| 少妇激情综合网| 亚洲精品欧美精品| wwwww在线观看免费视频| www.久草| 中国免费黄视频| 24小时成人在线视频| 青青国产91久久久久久| 日本道在线观看一区二区| 青青久久av北条麻妃黑人| 国产一区二区在线视频播放| 黄毛片在线观看| 另类图片国产| 欧美午夜精品理论片a级按摩| 国产成人精品亚洲精品| 女性隐私黄www网站视频| 345成人影院| 奇米综合一区二区三区精品视频| 欧美视频在线一区二区三区 | 国产不卡一区| 亚洲国产精品成人综合色在线婷婷| 亚洲天堂第一页| 亚洲一卡二卡三卡四卡无卡网站在线看| av中文在线| 亚洲欧美文学|