日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用ibatis.net简单的数据更新

發(fā)布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用ibatis.net简单的数据更新 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ibatis.net也用了快一個月了,可還不是很熟練。以前都是用他來search,get數(shù)據(jù),從沒用過updata,今天終于要修改數(shù)據(jù)了,才發(fā)現(xiàn)原來根本不能依靠自己立馬做出來。學習了別人的東西以后自己也摸索出來了方法,其實并不難,關(guān)鍵在于對整個ibatis的理解。

首先就是hashtable,到處都是hashtable,常用的hashparam其實就是hashtable的封裝。當然了這都是codesmith生成的一些類庫內(nèi)容。

也許你已經(jīng)想到了,對于數(shù)據(jù)過濾(where)也同樣是要用到hashtable

這是Persistence下的Dao的一個文件,

Code
????????#region?Update
????????public?void?Update(?AuditApply?auditapply?)
????????{
????????????ExecuteUpdate(
"Update_AuditApply",auditapply);
????????}

????????public?void?Update(?Hashtable?ht?)
????????{
????????????ExecuteUpdate(
"_Update_AuditApply",ht);
????????}

????????public?void?Update(?string?id,?Hashtable?ht?)
????????{
????????????ht[
"AuditApplyId"]?=?id;
????????????ExecuteUpdate(
"_Update_AuditApply",ht);
????????}
????????
#endregion?

?(圖1)

看到了吧,除了第一個方法其他都是hashtable,所以我們當然要從他下手來解決問題。

?

Code
????????Hashtable?ht?=?new?Hashtable();
????????ht[
"Status"]?=?"accepted";
????????ht[
"AuditApplyId"]?=?Request.QueryString["AuditApplyId"].ToString();
????????***.Persistence.DaoAuditApply?daoAuditApply?
=?new?***.Persistence.DaoAuditApply();
????????daoAuditApply.Update(Request.QueryString[
"AuditApplyId"].ToString(),?ht);
????????Response.Write(
"?<span?style=font-size:20pt;color:red>**********</span>");

(圖2)

這是項目中的一段代碼,AuditApplyId是某個表的查詢依據(jù),(ht["AuditApplyId"]?=?Request.QueryString["AuditApplyId"].ToString();測試以后發(fā)現(xiàn)這句是可以去掉的,因為我們已經(jīng)用querystring來給過了ID)當然了這里還要提到的就是在xml的配置文件中一定要有對應(yīng)的這個字段

Code
<update?id="_Update_AuditApply"?parameterClass="Hashtable">
????Update?AuditApply?Set
????????
<dynamic??prepend="?"?>
????????
<isNotNull?prepend=","?property="AuditDate"?>auditdate=#AuditDate#</isNotNull>
????????
<isNotNull?prepend=","?property="Remark"?>remark=#Remark#</isNotNull>
????????
<isNotNull?prepend=","?property="ApplyReason"?>applyreason=#ApplyReason#</isNotNull>
????????
<isNotNull?prepend=","?property="AuditRequest"?>auditrequest=#AuditRequest#</isNotNull>
????????
<isNotNull?prepend=","?property="CostSource"?>costsource=#CostSource#</isNotNull>
????????
</dynamic>
????WHERE
????????
<dynamic??prepend="?"?>
????????
<isNotNull?prepend=","?property="AuditApplyId"?>auditapplyid=#AuditApplyId#</isNotNull>
????????
</dynamic>
</update>

(圖3)

看到了吧,在xml中where后面有對應(yīng)的該字段,所以我們就可以放心大膽的去依據(jù)他更新數(shù)據(jù)了。

現(xiàn)在回到

Code
????????Hashtable?ht?=?new?Hashtable();
????????ht[
"Status"]?=?"accepted";
????????ht[
"AuditApplyId"]?=?Request.QueryString["AuditApplyId"].ToString();
????????***.Persistence.DaoAuditApply?daoAuditApply?
=?new?***.Persistence.DaoAuditApply();
????????daoAuditApply.Update(Request.QueryString[
"AuditApplyId"].ToString(),?ht);
????????Response.Write(
"?<span?style=font-size:20pt;color:red>**********</span>");

(圖2)

我們之前發(fā)現(xiàn)(圖1)中的最后一個方法,兩個參數(shù),一個是表的PK,另一個是用來給數(shù)據(jù)的hashtable,key=字段名,value=要更新的值,于是乎這樣就完成了數(shù)據(jù)的更新,也許你的項目文件名和類名不太一樣因為是codesmith生成的,不過大致意思都是相同的。方法當然不止這一種,但是吃透了這一種恐怕別的就不成問題了。

?

東西很簡單不過我也試驗了好一會兒,自己也做個記錄也跟大家分享。網(wǎng)上ibatis.net的資源相當少,希望對大家能有個幫助

第一次寫這么多,可能有點亂讓大家見笑了!

轉(zhuǎn)載于:https://www.cnblogs.com/Prewin/archive/2008/11/07/1329029.html

總結(jié)

以上是生活随笔為你收集整理的用ibatis.net简单的数据更新的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。