iBATIS.NET 学习笔记(五)

用iBATIS.NET简单查询数据。
项目目录结构:
iBATIS.NET 学习笔记(五)
新建类Mapper.cs

// ***********************************************************
// *公司:
// *作者:YK
// *模块:IbatisNet.Example
// *功能:
// *创建日期:
// *修改日期:
// ***********************************************************
using  System;
using  IBatisNet.Common.Utilities;
using  IBatisNet.DataMapper;
using  IBatisNet.DataAccess;
using  IBatisNet.DataAccess.Configuration;
using  IBatisNet.DataMapper.Configuration;
namespace  IbatisNet.Example
{
    
/// <summary>
    
/// Mapper 的摘要说明。
    
/// </summary>

    public class Mapper
    
{
        
private static volatile SqlMapper _mapper = null;

        
protected static void Configure (object obj)
        
{
            _mapper 
= (SqlMapper) obj;
        }

        
protected static void InitMapper()
        
{   
            ConfigureHandler handler 
= new ConfigureHandler(Configure);
            DomSqlMapBuilder builder 
= new DomSqlMapBuilder();
            _mapper 
= builder.ConfigureAndWatch(handler);

        }


        
public static SqlMapper Instance()
        
{
            
if (_mapper == null)
            
{
                
lock (typeof (SqlMapper))
                
{
                    
if (_mapper == null// double-check
                        InitMapper();
                }

            }

            
return _mapper;
        }


        
public static SqlMapper Get()
        
{
            
return Instance();
        }

    }

    
}


新建Web页面,Test1.aspx
<% @ Page language="c#" Codebehind="Test1.aspx.cs" AutoEventWireup="false" Inherits="IbatisNet.Example.Test1"  %>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
< HTML >
    
< HEAD >
        
< title > Test1 </ title >
        
< meta  name ="GENERATOR"  Content ="Microsoft Visual Studio .NET 7.1" >
        
< meta  name ="CODE_LANGUAGE"  Content ="C#" >
        
< meta  name ="vs_defaultClientScript"  content ="JavaScript" >
        
< meta  name ="vs_targetSchema"  content ="http://schemas.microsoft.com/intellisense/ie5" >
    
</ HEAD >
    
< body >
        
< form  id ="Form1"  method ="post"  runat ="server" >
            
< asp:DataGrid  id ="dgList"  runat ="server"  BorderColor ="#E7E7FF"  BorderStyle ="None"  BorderWidth ="1px"
                BackColor
="White"  CellPadding ="3"  GridLines ="Horizontal"  AllowPaging ="True"  AutoGenerateColumns ="False" >
                
< SelectedItemStyle  Font-Bold ="True"  ForeColor ="#F7F7F7"  BackColor ="#738A9C" ></ SelectedItemStyle >
                
< AlternatingItemStyle  BackColor ="#F7F7F7" ></ AlternatingItemStyle >
                
< ItemStyle  ForeColor ="#4A3C8C"  BackColor ="#E7E7FF" ></ ItemStyle >
                
< HeaderStyle  Font-Bold ="True"  ForeColor ="#F7F7F7"  BackColor ="#4A3C8C" ></ HeaderStyle >
                
< FooterStyle  ForeColor ="#4A3C8C"  BackColor ="#B5C7DE" ></ FooterStyle >
                
< Columns >
                    
< asp:BoundColumn  DataField ="CustomerID"  HeaderText ="CustomerID" ></ asp:BoundColumn >
                    
< asp:BoundColumn  DataField ="CompanyName"  HeaderText ="CompanyName" ></ asp:BoundColumn >
                    
< asp:BoundColumn  DataField ="Address"  HeaderText ="Address" ></ asp:BoundColumn >
                    
< asp:BoundColumn  DataField ="City"  HeaderText ="City" ></ asp:BoundColumn >
                    
< asp:BoundColumn  DataField ="Phone"  HeaderText ="Phone" ></ asp:BoundColumn >
                    
< asp:BoundColumn  DataField ="Fax"  HeaderText ="Fax" ></ asp:BoundColumn >
                
</ Columns >
                
< PagerStyle  HorizontalAlign ="Right"  ForeColor ="#4A3C8C"  BackColor ="#E7E7FF" ></ PagerStyle >
            
</ asp:DataGrid >
        
</ form >
    
</ body >
</ HTML >

Test1.aspx.cs
// ***********************************************************
// *公司:
// *作者:YK
// *模块:Test1
// *功能:
// *创建日期:
// *修改日期:
// ***********************************************************
using  System;
using  System.Collections;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Web;
using  System.Web.SessionState;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;
using  IBatisNet.Common;
using  IBatisNet.Common.Utilities;
using  IBatisNet.DataMapper;
using  IBatisNet.DataAccess;
namespace  IbatisNet.Example
{
    
/// <summary>
    
/// Test1 的摘要说明。
    
/// </summary>

    public class Test1 : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.DataGrid dgList;
    
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面

            
if(!Page.IsPostBack)
            
{
            
                
this.GetData();
            }

        }


        
Web 窗体设计器生成的代码
        
private void GetData()
        
{
            
this.dgList.DataSource =IbatisNet.Example.Mapper.Instance().QueryForList("GetAllCustomers",null);
            
this.dgList.DataBind();
        }


        
private void dgList_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
        
{
            
this.dgList.CurrentPageIndex = e.NewPageIndex;
            
this.GetData();
        }

    }

}

名程为“GetAllCustomers"的查询,在Maps/Customers.xml中设置。
运行通过。

你可能感兴趣的:(ibatis)