JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » .Net Framework » .NET Open Source: Nhibernate, Castle  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 IBatisNET在ORM的簡單應用
hugo_Ephebe





發文: 6
積分: 0
於 2008-06-02 10:08 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
系統需求
1. 先去下載http://ibatis.apache.org/下載最新版的DataMapper,我下載的是IBatisNet.DataMapper-bin-1.6.1.zip,把它解開。
2. 示範的資料庫是SQLLite,所以要去 http://sqlite.phxsoftware.com/下載Sqllite的ADO.NET Driver,我下載的是SQLite-1.0.48.0-setup.exe, 執行並安裝它。

系統架構
1. 分成三個專案,MainConsole、Domain、Dao。MainConsole是一個Console專案,參考加入Domain、Dao。
2. Domain是Business Entity放的地方。
3. Dao是撈物件的介面,參考加入IBaitsNet.Common、IBaitsNet.DataMapper。

Domain
有三個類別,Customer繼承Party,Customer有很多Account。

設定檔
SQLMap.config這是最主要的設定檔,重點在指定資料庫的類型及連線字串,以及Map檔的位置。
1
2
3
4
5
6
7
8
<database>
    <provider name="SQLite3"/>
    <dataSource name="Test" connectionString="Data Source=Test.s3db;Version=3;useutf16encoding=false;"/>
</database>
 
<sqlMaps>
    <sqlMap resource="Maps/Customer.xml" />
</sqlMaps>

providers.config這是規範資料庫的連結元件,記得我是用SQLLite。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<provider name="SQLite3"
    description="SQLite, SQLite.NET provider V1.0.48.0"
    enabled="true"
    assemblyName="System.Data.SQLite, Version=1.0.48.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"
    connectionClass="System.Data.SQLite.SQLiteConnection"
    commandClass="System.Data.SQLite.SQLiteCommand"
    parameterClass="System.Data.SQLite.SQLiteParameter"
    parameterDbTypeClass="System.Data.SQLite.TypeAffinity"
    parameterDbTypeProperty="DbType"
    dataAdapterClass="System.Data.SQLite.SQLiteDataAdapter"
    commandBuilderClass="System.Data.SQLite.SQLiteCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"
    setDbParameterPrecision="false"
    setDbParameterScale="false"
    allowMARS="false"
  />

Maps下放的是Mapping檔。
程式
請見CustomerDao.cs。如果設定檔名是SqlMap.config,就不必另外寫程式讀入設定檔。
1
2
3
4
public Customer GetCustomerByID(int partyNo)
{
    return Mapper.Instance().QueryForObject<Customer>("GetCustomerByNo", partyNo);           
}


TestORMByIBaitsNet.rar (443.37k)


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
2812 IBatisNET在ORM的簡單應用 hugo_Ephebe 1972 2008-06-02 10:08
» JWorld@TW »  .Net Framework » .NET Open Source: Nhibernate, Castle

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8