CYQ.Data 輕量數據層之路 V2.0 震撼驚世 支持多數據庫/內置Aop(二十五)

所有文章索引:CYQ.Data 輕量數據層之路 框架開源系列 索引

?

前言:

從V1.5發布到現在時隔20天了,終于發布2.0版本了,2.0系列版本由于引入多數據庫支持,內部結構改動較大。
但是外面調用方式仍保持一致向下兼容,因此若從原來V1.N版本升級到2.N版本,只需要輕輕更換CYQ.Data.DLL即可,界面代碼不需要改變。

?

疑問

最近26號才剛發布了V1.5.5,怎么才3天又發布了2.0版本?就這么點時間改動就很大,那不是很不穩定?

解疑:

V1.5.5版本是拿V1.5版本的源碼直接修改的,只是在原來的基本上修正一些sql2000下的應用bug。
實際發布V1.5.5的時候,V2.0已經發布很久了,只是一直做為搶先體驗版本存在。

?

版本升級內容

復制代碼
1:增加支持Access/Oracle數據庫,因此目前支持數據為:sql?2000/sql?2005/access/oracle。

2:內置Aop,可以分離權限/操作日志/異常/或者其它sql執行統計等模塊進行獨立開發。

3:MDataTable?增加2個附屬方法:Bind(控件名稱)及ToJson();
?
4:MAction 剛新增加調試信息輸出屬性:DebugInfo
復制代碼

?

?

一:目前配置文件配置選項

1:默認數據庫鏈接[必選]:

復制代碼
ExpandedBlockStart.gif
<add?name="Conn"?connectionString="數據庫鏈接字符串"?providerName="最好寫上,不寫則從鏈接字符串里取關鍵字做分支"/>

providerName選項:
sql?2000/sql?2005:System.Data.SqlClient
access:System.Data.OleDb
oracle:System.Data.OracleClient
復制代碼

?

2:開啟異常日志表配置[可選]:

ExpandedBlockStart.gif
appSettings節點:<add?key="IsWriteLog"?value="true"/>?
說明:如果不配置此節點,V1.5版本及以上會默認拋出異常。配置為true后,有異常不拋出。
connectionStrings節點:
<add?name="LogConn"?connectionString="Conn"/>
說明:如果日志表和Conn默認是同個數據庫,可采取共享鏈接的寫法。

?

3:開啟Aop功能配置[可選]:

appSettings節點:<add?key="Aop"?value="CYQ.Data.Test,CYQ.Data.Test.MyAop"/>
說明:CYQ.Data.Test為程序集名稱;CYQ.Data.Test.MyAop為帶完整名稱空間的類名

?

4:配置Oracle自增序列名稱[可選]:

appSettings節點:<add?key="AutoID"?value="MyAutoID"/>
說明:默認序列名稱為:AutoID

?

二:using語法使用說明

?

有些網友對using語法情有獨鐘,這里我說明一下相關的使用:

?

1:using語法簡單說明

using(MAction?action=new?MAction("表")){業務處理}?等同于=>?try{?業務處理}?finally{if(action!=null){action.Disponse();}}

?

2:using語法注意點

首先我們要知道,對于using語法,是在業務處理完的最后,才執行Disponse()方法。
因此,如果你的業務處理時間很長,而這些很長的處理邏輯可能跟數據庫已沒有關系,比如查出數據,然后要根據查出的數據做出很多業務邏輯處理。
那么這種情況下使用using,大括號在哪里結束,就得講究一下,雖然不影響大局,畢竟濫用也不好。

?

3:MDataTable 新方法Bind語法演示using:

using?(MAction?action?=?new?MAction(TableNames.Users))
{
???action.Select().Bind(rptList);
}

幾點說明:

1:Select方法查詢查詢不到數據時,不再返回null,而是返回new?MDataTable()的實例。
2:由于保證了Select不會返回null,因此可以使用其Bind方法來直接綁定rptList控件
3:Bind方法支持的控件類型有:GridView/Repeater/DataList/DataGrid/DataGridView

?

三:枚舉生成器V2.0版本發布

這里上一張截圖,增加支持Access/Oracle生成枚舉。

?

截圖如下:

?

?四:框架及最近輔助工具下載地址

詳見:CYQ.Data 輕量數據層之路 bug反饋、優化建議、最新框架下載

?

結言:

使用本框架進行開發,入門簡單,開發效率高,性能優越,更有詳盡的API文檔,有相關的使用幫助文章、示例文章、更甚有相關的視頻教程及輔助工具。

關鍵還是免費與開源,實在是居家旅行、項目開發、學習研究的必備良品!!!!!!

?

附言:

復制代碼
ExpandedBlockStart.gif
別猶豫了,從你看到此框架的瞬間,加入使用的大軍吧,從開始到學會,口述教的話也就僅5分鐘,看視頻教程,也就10分鐘,看文章,頂多就半個多小時。

速學速用:

如果你是學生:用它來開發作品,不僅能提升個人經驗值,對將來找工作也是大有幫助。

如果你是企業:用它來開發公司項目,即提高員工開發效率,更能統一開發風格,就算員工流動,新人進來,口述幾分鐘,也能迅速接手了解整體架構。

如果你是初級開發者:老板整天壓著工期,逼著你快速開發交付產品,自己手頭寫框架又能力用限,網上的其它框架又大又多又難學又難用,咋整?用上此框架,煩腦不再用。

如果你是中級開發者:正在提升階段,試圖自己研發框架,下載源碼研究吧,多一份思想也不是什么壞事,還可以進群進行相關討論,互相提升。

如果你......
復制代碼

?

?

最后:祝大家用的放心,用的省心,用的開心,你的鼓勵是我最大的動力。

?

?

版權聲明:本文原創發表于博客園,作者為路過秋天,原文鏈接:

http://www.cnblogs.com/cyq1162/archive/2010/09/30/1839336.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258058.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258058.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258058.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab 捕食者和獵物,MATLAB - 追求曲線(捕食者/獵物)

在我的工程課上&#xff0c;我們編寫了一個“非平凡的”捕食者/獵物追捕問題。以下是情況的要點&#xff1a;有一個獵物試圖逃脫捕食者。每個都可以建模為可以在MATLAB中制作動畫的粒子(我們必須使用這種編碼語言)。獵物&#xff1a;可以比捕食者更容易操縱(轉彎)捕食者&#x…

SQL Server 2012安裝圖解

方法/步驟 在資源管理器中雙擊SQL Server 2012的安裝光盤&#xff0c;此時會出現一個安裝窗口&#xff0c;在左側的界面中點擊“安裝”選項卡&#xff0c;如圖所示。然后點擊右邊的第一項“全新SQL Server 獨立安裝...”選項。 點擊“下一步”按鈕繼續下一步安裝。耐心等待片刻…

C#中讀寫INI文件

INI文件就是擴展名為“ini”的文件。在Windows系統中&#xff0c;INI文件是很多&#xff0c;最重要的就是“System.ini”、“System32.ini”和“Win.ini”。該文件主要存放用戶所做的選擇以及系統的各種參數。用戶可以通過修改INI文件&#xff0c;來改變應用程序和系統的很多配…

html5響應式設置meta

1 <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <!--放大頁面到設備合適的分辨率--> 若不支持&#xff0c;請使用兼容ie的js 1 <!--[if lt IE 9]> 2 <script src"http://css3-mediaqueries-js.goo…

jmap在ubuntu上DebuggerException: Can't attach to the process

解決&#xff1a; 臨時&#xff1a; 1.echo 0 >/proc/sys/kernel/yama/ptrace_scope 永久&#xff1a; 2.修改 /etc/sysctl.d/10-ptrace.conf&#xff0c;設置kernel.yama.ptrace_scope0 參考&#xff1a;http://bugs.java.com/bugdatabase/view_bug.do?bug_id7050524轉載于…

C/C++中對鏈表操作的理解實例分析

鏈表概述   鏈表是一種常見的重要的數據結構。它是動態地進行存儲分配的一種結構。它可以根據需要開辟內存單元。鏈表有一個“頭指針”變量&#xff0c;以head表示&#xff0c;它存放一個地址。該地址指向一個元素。鏈表中每一個元素稱為“結點”&#xff0c;每個結點都應包括…

idea寫java spark程序,Spark : 在IDEA中用scala編寫Spark的WordCount程序并提交運行

使用IDEA新建maven工程&#xff0c;添加相關依賴&#xff1a;1.81.82.11.112.3.02.7.7utf-8org.scala-langscala-library${scala.version}org.apache.sparkspark-core_2.11${spark.version}org.apache.hadoophadoop-client2.7.7給項目添加scala支持&#xff0c;新建Scala Objec…

Contest - 2014 SWJTU ACM 手速測試賽(2014.10.31)

題目列表&#xff1a; 2146 Problem A【手速】闊綽的Dim2147 Problem B【手速】頹廢的Dim2148 Problem C【手速】我的滑板鞋2149 Problem D【手速】潦倒的Dim2150 Problem E【手速】被NTR的Dim2146 Problem A&#xff1a; 簡單的最長回文串統計算法&#xff0c;這里沒有過高要求…

利用Vagrant and VirtualBox搭建core os環境

利用Vagrant and VirtualBox搭建core os環境 系統環境 ubuntu 14.04 x64vagrant 1.7.4virtualbox 4.3.10git 1.9.1# 安裝 virtualbox, git sudo apt-get install virtualbox, git# 軟件中心的vagrant版本太低,因此去官網獲取最新的軟件包地址 wget https://releases.hashicorp.…

php關注 取消關注事件,微信公眾平臺開發關注/取消關注事件例子

用戶在關注與取消關注公眾號時&#xff0c;微信會把這個事件推送到開發者填寫的URL。方便開發者給用戶下發歡迎消息或者做帳號的解綁下面是一個微信公眾平臺關注和取消關注的實例:responseMsg();} else {$wechatObj->valid();}class wechatCallbackapiTest {public function…

DFS應用——遍歷有向圖+判斷有向圖是否有圈

【0】README 0.1&#xff09; 本文總結于 數據結構與算法分析&#xff0c; 源代碼均為原創&#xff0c; 旨在 理解 “DFS應用——遍歷有向圖判斷有向圖是否有圈” 的idea 并用源代碼加以實現 &#xff1b;0.2&#xff09; 判斷有向圖是否有圈的rule—— 一個有向圖是無圈圖當且…

AbleCloud智能行業解決方案助力體重秤企業向“中國智造”轉變

近年來&#xff0c;體重秤消費群體的年齡層次與需求逐漸向多元化發展&#xff0c;品牌眾多、競爭激烈的傳統體重秤行業迎來了前所未有的挑戰——智能體重秤成為行業發展的大趨勢&#xff0c;功能單一、同質化嚴重已經成為阻礙傳統體重秤企業成長的桎梏&#xff0c;打造出具備“…

javaScript事件(一)事件流

一、事件 事件是文檔或者瀏覽器窗口中發生的&#xff0c;特定的交互瞬間。 事件是用戶或瀏覽器自身執行的某種動作&#xff0c;如click,load和mouseover都是事件的名字。 事件是javaScript和DOM之間交互的橋梁。 你若觸發&#xff0c;我便執行——事件發生&#xff0c;調用它的…

php輸入對話框,如何使用JavaScript實現輸入對話框

我們有時在網頁上進行注冊用戶信息時會出現彈窗進行提示&#xff0c;你需要輸入內容進行確認&#xff0c;那么&#xff0c;這樣的輸入對話框是怎么實現的呢&#xff1f;本篇文章就來介紹關于使用JavaScript實現輸入對話框的方法。我們可以使用prompt顯示輸入對話框要在JavaScri…

軟件缺陷的種類劃分

按照軟件缺陷的產生原因&#xff0c;可以將其劃分為不同的缺陷類別&#xff1a; 1、功能不正常 簡單地說就是所應提供的功能&#xff0c;在使用上并不符合產品設計規格說明書中規定的要求&#xff0c;或是根本無法使用。這個錯誤常常會發生在測試過程的初期和中期&#xff0c;有…

python——no module named XX

加PYTHONPATH吧&#xff0c;新建一個系統環境變量&#xff0c;把你的目錄復制進去即可轉載于:https://www.cnblogs.com/MarsMercury/p/4992629.html

CodeVS 1081 線段樹練習 2

1081 線段樹練習 2 時間限制: 1 s空間限制: 128000 KB題目等級 : 大師 Master題目描述 Description給你N個數&#xff0c;有兩種操作 1&#xff1a;給區間[a,b]的所有數都增加X 2&#xff1a;詢問第i個數是什么&#xff1f; 輸入描述 Input Description第一行一個正整數n&#…

bzoj4144 [AMPPZ2014]Petrol 圖論 最短路 并查集

bzoj4144 [AMPPZ2014]Petrol 圖論 最短路 并查集 1、這道題我們主要就是要求出距離一個油站的最近的油站 首先我們dijkstra 求出任意一個點到 離他最近的油站的距離 2、然后會發現 如果一條邊的兩個端點 的最近油站不同的話 那么這條邊就會在這兩個油站的最短路上 3、然后對于…

python函數理解,python對函數的理解

函數函數可以提高編寫代碼效率、代碼的重用、讓程序更小、模塊化可以將一段獨立功能的代碼集成在一個塊中、封裝獨立功能# 函數定義(參數名為形式參數)def 函數名(參數名):函數體# 調用函數(享受封裝的成功)函數名(實際參數)例&#xff1a;print函數print(sep,end) sep(元素中分…

06:空格分隔輸出

描述 讀入一個字符&#xff0c;一個整數&#xff0c;一個單精度浮點數&#xff0c;一個雙精度浮點數&#xff0c;然后按順序輸出它們&#xff0c;并且要求在他們之間用一個空格分隔。輸出浮點數時保留6位小數。 輸入共有四行&#xff1a;第一行是一個字符&#xff1b;第二行是一…