zoukankan      html  css  js  c++  java
  • IBatis框架例子

    DaoProvider工程
    AbstractDaoService.cs

    using System;
    using System.Collections.Generic;
    using System.Text;

    using IBatisNet.DataMapper;
    namespace DaoProvider
    {
        
    public abstract class AbstractDaoService
        
    {
            
    protected SqlMapper GetMapper()
            
    {
                
    return Mapper.Instance();
            }

        }

    }

    ContentDaoService.cs

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Text;

    using IBatisNet.DataMapper;
    namespace DaoProvider
    {
        
    public class ContentDaoService : AbstractDaoService
        
    {
            
    public void Insert(ContentObject p_dataObject)
            
    {
                Mapper.Instance().Insert(
    "ContentObject_DefaultInsert", p_dataObject);
            }

            
    public ContentObject Query(int p_intId)
            
    {
                
    return null;
            }

            
    public IList Query()
            
    {
                
    return Mapper.Instance().QueryForList("Content_DefaultSelect"nullas IList;
            }

        }

    }


    ContentObject.cs

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace DaoProvider
    {
        
    public class ContentObject
        
    {
            
    private int m_intId;

            
    public int ID
            
    {
                
    get return m_intId; }
                
    set { m_intId = value; }
            }

            
    private string m_strTitle;

            
    public string Title
            
    {
                
    get return m_strTitle; }
                
    set { m_strTitle = value; }
            }

            
    private string m_strContentText;

            
    public string ContentText
            
    {
                
    get return m_strContentText; }
                
    set { m_strContentText = value; }
            }

            
    private string m_strCreator;

            
    public string Creator
            
    {
                
    get return m_strCreator; }
                
    set { m_strCreator = value; }
            }


        }

    }


    ContentMapper.xml

    <?xml version="1.0" encoding="utf-8" ?>
    <sqlMap namespace="Account" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
        
    <alias>
            
    <typeAlias alias="ContentObject" type="DaoProvider.ContentObject,DaoProvider"/>
        
    </alias>
      
        
    <resultMaps>
            
    <resultMap id="ContentObject_DefaultResult" class="ContentObject">
          
    <result column="ID" property="ID" type="int" dbType="Int"/>
          
    <result column="Title" property="Title" type="string" dbType="Varchar"/>
          
    <result column="ContentText" property="ContentText" type="string" dbType="Varchar"/>
          
    <result column="Creator" property="Creator" type="string" dbType="Varchar"/>
            
    </resultMap>
        
    </resultMaps>
      
        
    <statements>
         
            
    <insert id="ContentObject_DefaultInsert" parameterClass="ContentObject">
                INSERT INTO Content(Title,ContentText,Creator) VALUES(#Title#,#ContentText#,#Creator#)
                
    <selectKey property="ID" resultClass="int" type="post">
            SELECT @@IDENTITY AS value
          
    </selectKey>
            
    </insert>
        
            
    <select id="Content_DefaultSelect" listClass="ArrayList" resultMap="ContentObject_DefaultResult" >
                  SELECT ID, Title, ContentText, Creator FROM Content
            
    </select>
        
        
    </statements>

      
    <parameterMaps>

        
    <parameterMap id="ContentObject_DefaultParameter" class="ContentObject" >
          
    <parameter column="Title" property="Title" type="string" dbType="Varchar" direction="Input"/>
          
    <parameter column="ContentText" property="ContentText" type="string" dbType="Varchar" direction="Input"/>
          
    <parameter column="Creator" property="Creator" type="string" dbType="Varchar" direction="Input"/>
        
    </parameterMap>

      
    </parameterMaps>
    </sqlMap>

    SqlMap.config

    <?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="http://www.cnblogs.com/database.config"/>-->

        
    <settings>
            
    <!--<setting useStatementNamespaces="${useStatementNamespaces}"/>-->
            
    <setting cacheModelsEnabled="true"/>
            
    <setting validateSqlMap="false"/>
        
    </settings>

        
    <providers resource="providers.config"/>

        
    <database>
            
    <!-- Optional ( default ) -->
            
    <provider name="sqlServer2.0"/>
            
    <dataSource name="iBatisNet" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"/>
        
    </database>
        
    <!--<typeHandlers>
            <typeHandler type="bool" dbType="Varchar" callback="OuiNonBool"/>
        </typeHandlers>
    -->
        
    <alias>
            
    <typeAlias alias="ArrayList" type="System.Collections.ArrayList,mscorlib"/>
        
    </alias>
        
    <sqlMaps>
            
    <!-- <sqlMap url="E:/Projet/iBatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/${directory}/MSSQL/SqlClient/Account.xml"/>   -->
            
    <sqlMap resource="Mappers/ContentMapper.xml"/>
            
    <!--<sqlMap resource="Mappers/Employees.xml"/>-->
            
    <!-- Rem : If used as embbeded Resources, use
            <sqlMap embedded="Maps.MSSQL.SqlClient.Account.xml, IBatisNet.DataMapper.Test"/>
    -->
        
    </sqlMaps>
    </sqlMapConfig>

    源代码:
    IBatisDemo

    IBatisNet.DataMapper

    http://www.cnblogs.com/adam/archive/2008/01/07/1028775.html

  • 相关阅读:
    109 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 05 问题解析--通过一个方法完成学生和专业的双向关联
    108 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 04 问题解析--数组未实例化造成的空指针异常
    107 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 03 编写方法完成学生个数统计功能
    106 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 02 新增属性完成学生信息存储
    105 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 01 新增需求及分析
    session与cookie的区别和联系
    session和cookie的区别
    Web服务器主动推送技术
    webSocket的场景应用
    TCP、Http和Socket 优劣比较
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1748636.html
Copyright © 2011-2022 走看看