国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

Ibatis.Net 入門示例(一)

2024-04-27 15:04:48
字體:
來源:轉載
供稿:網友

新項目用的是Ibatis.Net。哥的感覺是NHibernate才是哥的最愛。沒辦法,即使重復,也要抽時間學習。努力做好這份工作再說吧。

一、Ibatis.Net-SQLServer2008

  還是以哥一貫的學習方式,先千方百計拼出一個DEMO,看看效果,然后修改各個參數就可以看你出對DEMO的影響。

  第一次配置Itabis.Net看到這樣的錯誤提示,哥崩潰了,這也算提示?跟沒提示有區別嗎?

  

  不過經過后來的提示,注意上面是Validate,有可能還會出現loading等,也注意最后的文件名,到底是哪個文件出錯。

  經過兩個小時候,終于配好了第一個程序,先發上這一個簡單的DEMO。然后下一篇文章,再來詳細了解下,其他的配置屬性。

1、打開SQLServer 2008,建一個數據庫Test,一張表Person,添加入數據如下:

  

2、新建一個控制臺程序如下:

  

  其中,DAO是數據訪問層,Domain是實體層。然后Dao層引入這兩個文件:

      IbatisNet.Common.dll      IbatisNet.DataMapper.dll

  先放上簡單的代碼吧。

  其中PersonDao的代碼如下:

復制代碼
namespace Ibatis.Net.Dao{    public class PersonDao    {        public IList<PersonModel> GetList()        {            ISqlMapper mapper = Mapper.Instance();            IList<PersonModel> ListPerson = mapper.QueryForList<PersonModel>("SelectAllPerson", null);  //這個"SelectAllPerson"就是xml映射文件的Id            return ListPerson;        }    }}復制代碼

  PersonModel代碼如下:

復制代碼
namespace Ibatis.Net.Domain{    public class PersonModel    {        public int Id        {            get;            set;        }        public string Name        {            get;            set;        }    }}復制代碼

3、配置(包括xml映射文件,SqlMap,PRovider)

  首先當然是最重要的SqlMap了:

復制代碼
<?xml version="1.0" encoding="utf-8"?><sqlMapConfig  xmlns="http://ibatis.apache.org/dataMapper"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <!--<properties resource="../../../properties.config"/>這個東西是變量用的,這里以最簡單的實現說明,因此注釋-->  <settings>    <setting useStatementNamespaces="false"/>  </settings>  <providers resource="providers.config"/>  <!--數據庫連接字符串-->  <database>    <provider name="sqlServer2008"/>    <dataSource name="Test" connectionString="server=KISSDODOG-PC;uid=sa;pwd=123;database=Test"/>  </database>  <sqlMaps>    <sqlMap resource="Person.xml" />    <!--這個是指定映射文件的位置-->  </sqlMaps></sqlMapConfig>復制代碼

  然后是映射文件Person.xml:

復制代碼
<?xml version="1.0" encoding="utf-8" ?><sqlMap namespace="Ibatis" xmlns="http://ibatis.apache.org/mapping" xmlns:xls="http://www.w3.org/2001/XMLSchema-instance">  <statements>    <select id="SelectAllPerson" resultClass="Ibatis.Net.Domain.PersonModel">  <!--這個Id在程序中會用到,resultClass是類所在的程序位置(帶命名空間)-->      select * from person    </select>  </statements></sqlMap>復制代碼

  最后是Provider.config。這個直接復制下載進來的安裝包就可以了。把不是你指定的全部刪除,然后將enabled="true",.Net版本改成你正在用的,此處發上SQLServer2008的。

復制代碼
<?xml version="1.0" encoding="utf-8"?><providersxmlns="http://ibatis.apache.org/providers"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <clear/>    <provider      name="sqlServer2008"      enabled="true"      default="true"      description="Microsoft SQL Server, provider V4.0.0.0 in framework .NET V4.0"      assemblyName="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"      connectionClass="System.Data.SqlClient.SqlConnection"      commandClass="System.Data.SqlClient.SqlCommand"      parameterClass="System.Data.SqlClient.SqlParameter"      parameterDbTypeClass="System.Data.SqlDbType"      parameterDbTypeProperty="SqlDbType"      dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"      commandBuilderClass=" System.Data.SqlClient.SqlCommandBuilder"      usePositionalParameters = "false"      useParameterPrefixInSql = "true"      useParameterPrefixInParameter = "true"      parameterPrefix="@"      allowMARS="true"    /></providers>復制代碼

  注意,以上3個配置文件,在控制臺程序中,放到debug/bin目錄里。

  Program.cs代碼如下:

復制代碼
    class Program    {        static void Main(string[] args)        {            PersonDao dao = new PersonDao();            IList<PersonModel> ListPerson = dao.GetList();            foreach (PersonModel p in ListPerson)            {                Console.WriteLine(p.Id + p.Name);            }            Console.ReadKey();        }    }復制代碼

  運行程序,顯示結果如下:

  

  就上面這些點東西,哥配了兩個多小時。下一篇再學習其他的要點。

二、Ibatis.Net - Oracle 10g

對于上面的程序,將數據庫由SQLServer改為Oracle10g,上面不用改代碼,只需要將providers.config文件改為:

復制代碼
<?xml version="1.0" encoding="utf-8"?><providersxmlns="http://ibatis.apache.org/providers"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <provider    name="oracle10.1"    description="Oracle, oracle provider V10.1.0.301"    enabled="true"    assemblyName="Oracle.Dataaccess, Version=10.1.0.301, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionClass="Oracle.DataAccess.Client.OracleConnection"    commandClass="Oracle.DataAccess.Client.OracleCommand"    parameterClass="Oracle.DataAccess.Client.OracleParameter"    parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType"    parameterDbTypeProperty="OracleDbType"    dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter"    commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder"    usePositionalParameters="true"    useParameterPrefixInSql="true"    useParameterPrefixInParameter="true"    parameterPrefix=":"    useDeriveParameters="false"    allowMARS="false"  /></providers>復制代碼

  SqlMap.cofig改為里的database節點改為:

  <!--數據庫連接字符串-->  <database>    <provider name="oracle10.1"/>    <dataSource name="Test" connectionString="Data Source=comit-jun/ajun.db;Persist Security Info=true;User ID=scott;PassWord=tiger;Connection Timeout=15;Pooling=true;Connection Lifetime=30;Max Pool Size=500;Min Pool Size=0"/>  </database>

  如果連接不上,大部分情況下,都是Oracle的設置問題了。

  其中Data Source=comit-jun/ajun.db;

   comit-jun是計算機名,當然也可以是IP地址,而后面的ajun.db是Oracle服務器端的服務名(完整數據庫名)。

 原文地址:http://www.cnblogs.com/kissdodog/p/3291760.html
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 炉霍县| 庄浪县| 开原市| 谷城县| 苗栗县| 阳泉市| 龙井市| 偏关县| 志丹县| 乐亭县| 阜新市| 望都县| 大庆市| 沂源县| 黄平县| 罗定市| 渑池县| 崇仁县| 洪洞县| 黔南| 遂宁市| 临高县| 桦川县| 太白县| 烟台市| 高要市| 观塘区| 定远县| 白玉县| 清新县| 罗定市| 新建县| 浙江省| 长汀县| 宜春市| 大渡口区| 班戈县| 永嘉县| 嘉荫县| 成武县| 灌阳县|