`
izuoyan
  • 浏览: 9260250 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

iBatisNet入门示例源码详解

阅读更多
下载ibatis软件包(http://ibatis.apache.org/dotnetdownloads.html)。

2. 创建测试数据库,并在数据库中创建一个Person 表,其中包含三个字段:

NameTypeSize

PER_IDLongInteger4 not null

PER_FIRST_NAMEnvarchar40 not null

PER_LAST_NAMEnvarchar40 not null

PER_BIRTH_DATE DateTime8

PER_WEIGHT_KGfloat8

PER_HEIGHT_Mfloat8

3. 为了在开发过程更加直观,我们需要将ibatisnet日志打开以便观察ibatinets运作的细节。

ibatisnet采用IBatisNet.Common.Logging.Log4Net,就是使用Log4Net纪录日志的包装。在Web.config中增加下面的配置内容:

<configSections>

<sectionGroup name="iBATIS">

<section name="logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common" />

</sectionGroup>

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

</configSections>

<iBATIS>

<logging>

<logFactoryAdapter type="IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net">

<arg key="configType" value="inline" />

<arg key ="showLogName" value="true" />

<arg key ="showDataTime" value="true" />

<arg key ="level" value="ALL" />

<arg key ="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:SSS" />

</logFactoryAdapter>

</logging>

</iBATIS>

<!-- This section contains the log4net configuration settings -->

<log4net>

<!-- Define some output appenders -->

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">

<param name="File" value="log.txt" />

<param name="AppendToFile" value="true" />

<param name="MaxSizeRollBackups" value="2" />

<param name="MaximumFileSize" value="100KB" />

<param name="RollingStyle" value="Size" />

<param name="StaticLogFileName" value="true" />

<layout type="log4net.Layout.PatternLayout">

<param name="Header" value="[Header]\r\n" />

<param name="Footer" value="[Footer]\r\n" />

<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />

</layout>

</appender>

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />

</layout>

</appender>

<!-- Set root logger level to ERROR and its appenders -->

<root>

<level value="DEBUG" />

<appender-ref ref="RollingLogFileAppender" />

<appender-ref ref="ConsoleAppender" />

</root>

<!-- Print only messages of level DEBUG or above in the packages -->

<logger name="IBatisNet.DataMapper.Configuration.Cache.CacheModel">

<level value="DEBUG" />

</logger>

<logger name="IBatisNet.DataMapper.Configuration.Statements.PreparedStatementFactory">

<level value="DEBUG" />

</logger>

<logger name="IBatisNet.DataMapper.LazyLoadList">

<level value="DEBUG" />

</logger>

<logger name="IBatisNet.DataAccess.DaoSession">

<level value="DEBUG" />

</logger>

<logger name="IBatisNet.DataMapper.SqlMapSession">

<level value="DEBUG" />

</logger>

<logger name="IBatisNet.Common.Transaction.TransactionScope">

<level value="DEBUG" />

</logger>

<logger name="IBatisNet.DataAccess.Configuration.DaoProxy">

<level value="DEBUG" />

</logger>

</log4net>

构建IBatisNet基础代码

IBatisNet 基础代码包括:

1IBatisNet 实例配置

一个典型的配置文件如下(具体配置项目的含义见后):

<?xml version="1.0" encoding="utf-8"?>

<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

<!-- Rem : If used via a DataAccess context, properties tag will be ignored

<properties resource="../../database.config"/>
-->

<properties embedded="database.config, IBatisNetDemo"/>

<settings>

<setting useStatementNamespaces="${useStatementNamespaces}"/>

<setting cacheModelsEnabled="true"/>

<setting validateSqlMap="false"/>

</settings>

<!-- Optional if resource -->

<providers embedded="providers.config,IBatisNetDemo"/>

<!-- ==== SqlClient configuration ========= -->

<!-- Rem : If used via a DataAccess context, database tag will be ignored -->
<database>
<!-- Optional ( default ) -->

<provider name="sqlServer1.1"/>

<dataSource name="iBatisNet" connectionString="data source=localhost;database=Northwind;user id=sa;password=;connection reset=false;connection lifetime=5; min pool size=1; max pool size=50"/>
</database>
<sqlMaps>

<!-- user via embedded-->
<sqlMap embedded="Map.SqlClient.Person.xml,IBatisNetDemo"/>

</sqlMaps>

</sqlMapConfig>


2. PO(Plain Ordinary Object)

下面是我们用作示例的一个PO:

[Serializable]

public class Person

...{

private int id;

private string firstName;

private string lastName;

private DateTime? birthDate;

private double? weightInKilograms;

private double? heightInMeters;

public Person() ...{

public int Id

...{

get ...{ return id; }

set ...{ id = value; }

}


public string FirstName

...{

get ...{ return firstName; }

set ...{ firstName = value; }

}

public string LastName

...{
get ...{ return lastName; }
set ...{ lastName = value; }

}



public DateTime? BirthDate

...{

get ...{ return birthDate; }

set ...{ birthDate = value; }

}


public double? WeightInKilograms

...{
get ...{ return weightInKilograms; }

set ...{ weightInKilograms = value; }

}


public double? HeightInMeters

...{

get ...{ return heightInMeters; }

set ...{ heightInMeters = value; }

}
color: #
分享到:
评论

相关推荐

    iBatisNet入门示例源码

    本入门示例源码将帮助你了解如何在C#项目中集成并使用iBatisNet。 1. iBatisNet基本概念: - SQL映射:iBatisNet的核心是SQL映射文件,它定义了数据库查询和更新语句,以及如何将这些结果映射到.NET对象。 - 映射...

    iBatisNet入门示例源码(操作GridView和DetailsView).zip

    本示例源码主要展示了如何利用iBatisNet框架来操作ASP.NET中的GridView和DetailsView控件,这两种控件在Web开发中广泛用于数据展示和编辑。 首先,我们来看`iBatisNet`框架。iBatisNet的核心是SQL Maps,它们定义了...

    IBatisNet完整项目源码(含数据库)

    IBatisNet.DataMapper 1.6.1.0之简单三层 首先介绍Solution的架构,一共分四个项目: Web :前台应用; BLL :业务处理层,如果嫌麻烦,可以再进一步抽象出来,然后将代码放置Web层的aspx.cs里面; Model :这个...

    IBatisNET应用示例(实现增删改查)

    项目名称:IBatisNEt实践项目 功能描述:利用IBatis NET实现对单表的增删改查 操作 开发工具:vs2005,SQL2005 开发环境:WindowServer2003(WindowXP下也可运行) 开发语言:C#,JQuery,ASP.NET 架构模式:BS架构 (备注:...

    IBatisNet .dll源码下载,直接引用

    IBatisNet 源码直接引用,以.dll结尾,可以直接引用

    IbatisNet从入门到精通(由源码详细介绍)

    IBatisNet是一个面向.NET平台的对象关系映射(ORM)框架,它的主要功能是将数据库操作与业务逻辑解耦,使得开发者可以使用简单的XML映射文件来定义SQL语句与对象之间的关系。通过这种方式,开发人员可以专注于编写...

    iBatisNet入门源码,练习GridView和DetailsView操作

    摘要:.NET源码,控件组件,iBatisNet,GridView,DetailsView iBatisNet入门源码,练习GridView和DetailsView操作,环境,利用配置IBatisNet操作GridView和DetailsView的源码例子,里面还集成了log4net,log.txt为日志...

    IBatisNet-源代码

    这个源码库提供了一个深入理解 IBatisNet 内部工作原理的机会,对学习 ORM 设计模式和.NET 应用程序开发有着极大的帮助。 1. **.NET ORM 概念** .NET ORM(对象关系映射)是将数据库关系模型转化为面向对象模型的...

    ASP.NET源码——IBatisNet.DataMapper 1.6.1.0 之简单三层.zip

    学习这个示例,你可以了解如何在ASP.NET项目中使用IBatisNet.DataMapper来实现数据访问,以及如何构建和组织三层架构的应用程序。这对于提升.NET开发技能,尤其是处理数据库操作和项目结构设计具有很大的帮助。通过...

    DWZ示例源码

    【DWZ示例源码】是一个基于DWZ(Dynamic Web Zone)框架和iBatisNet数据访问层构建的报表系统示例。这个项目主要用于展示如何将这两种技术有效地结合在一起,以实现一个功能丰富的Web应用程序。DWZ是一款强大的前端...

    IBatisNet源代码

    IBatisNet是一个基于.NET平台的持久层框架,它提供了一种将数据库操作与业务逻辑相分离的方法。这个框架允许开发者编写SQL语句,而不是依赖于ORM(对象关系映射)工具自动生成的SQL,从而实现了更灵活的数据访问控制...

    IBatisNet开发使用帮助文档

    - 下载IBatisNet软件包,包括DataMapper和DataAccess组件,以及可能的源码或示例项目。 - 创建测试数据库并定义相关表,例如在本例中创建了Person表,包含PER_ID、PER_FIRST_NAME、PER_LAST_NAME等字段。 5. **...

    iBatisNetTest

    本测试项目"iBatisNetTest"提供了一个详尽的C#环境下iBatisNet的使用示例,帮助开发者深入理解并掌握该框架。 首先,我们来了解一下iBatisNet的核心概念。ORM框架的主要任务是将数据库中的数据映射到.NET对象,同时...

    IbatisNet项目实例.rar

    iBATISNet Database Layer!这个框架将让你能够更好的在dotnet应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access Objects。下面是一个简单的iBATISNet应用架构。 项目中...

    IBatisNet_mytest001_20191031_内含反编译源码.rar

    更新类IBatisNet.DataMapper.MappedStatements.ResultStrategy.DictionaryStrategy,处理数据输出类型是HashTable, 不能解析特定数据库专有数据类型的错误

    IBatisNet 框架

    **IBatisNet 框架详解** IBatisNet是一个基于.NET平台的轻量级对象关系映射(ORM)框架,它的出现旨在简化.NET开发者与数据库之间的交互,减轻编写SQL语句和管理数据访问层的负担。这个框架允许程序员将注意力集中...

    IBatisNet和NHibernate模版

    **IBatisNet与NHibernate:两种主流ORM框架的深度解析** 在.NET开发环境中,数据库操作是不可或缺的一部分。为了简化数据库访问层的复杂性,开发者通常会选用Object-Relational Mapping (ORM) 框架。IBatisNet和...

    ibatisnet教程全文

    IbatisNet是一个基于.NET平台的轻量级持久层框架,它提供了一种简单但强大的对象关系映射(ORM)解决方案,使得开发者可以将数据库操作与业务逻辑分离,从而提高开发效率和代码质量。本教程旨在全面讲解IbatisNet的...

Global site tag (gtag.js) - Google Analytics