Nibatis实例(1)

参考资料 http://www.cnblogs.com/anderslly/archive/2007/09/07/ibatisinactionpreface.html

1.实体类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace NIbatis.Entity
{
    public class Employee
    {
        #region private fields

        private int id;
        private int employeeNumber;
        private string firstName;
        private string lastName;
        private string title;

        #endregion

        public int Id
        {
            get { return id; }
            set { id = value; }
        }

        public int EmployeeNumber
        {
            get { return employeeNumber; }
            set { employeeNumber = value; }
        }

        public string FirstName
        {
            get { return firstName; }
            set { firstName = value; }
        }

        public string LastName
        {
            get { return lastName; }
            set { lastName = value; }
        }

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

 

2.数据访问

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using IBatisNet.DataMapper;

namespace NIbatis.Entity
{
    public class EmployeeManager
    {
        public static Employee GetEmployee(int number)
        {
            Employee emp = Mapper.Instance().QueryForObject<Employee>("GetEmployee", number);
            return emp;
        }
    }
}

 

protected void Page_Load(object sender, EventArgs e)
{
   int number = 1001;
  Employee emp = EmployeeManager.GetEmployee(number);
  if (emp != null)
  {
    Response.Write(emp.FirstName + ' ' + emp.LastName);
  }

}

 

3.配置文件

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">
 
  <settings>
    <setting useStatementNamespaces="false"/>
  </settings>
 
  <providers resource="providers.config"/>
 
 <!-- Database connection information -->
 <database>
  <provider name="sqlServer2.0"/>
    <dataSource name="iBatisInAction" connectionString="Server=(local);Database=Test;UID=sa;PWD=abc123_;" />
 </database>

 <sqlMaps>
    <sqlMap resource="Maps/Employee.xml" />
 </sqlMaps>

</sqlMapConfig>

providers.config(放在根目录下面)

<?xml version="1.0" encoding="utf-8"?>
<providers
xmlns="http://ibatis.apache.org/providers"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<clear/>
<provider
   name="sqlServer1.0"
   description="Microsoft SQL Server, provider V1.0.3300.0 in framework .NET V1.0"
   enabled="false"
   assemblyName="System.Data, Version=1.0.3300.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="false"
  />
<provider
   name="sqlServer1.1"
   description="Microsoft SQL Server, provider V1.0.5000.0 in framework .NET V1.1"
   enabled="true"
   default="true"
   assemblyName="System.Data, Version=1.0.5000.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="false"
  />
<provider
    name="sqlServer2.0"
    enabled="true"
    description="Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0"
    assemblyName="System.Data, Version=2.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="false"
    />
  <provider
     name="sqlServer2005"
     enabled="false"
     description="Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0"
     assemblyName="System.Data, Version=2.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"
    />
<provider name="OleDb1.1"
   description="OleDb, provider V1.0.5000.0 in framework .NET V1.1"
   enabled="true"
   assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.OleDb.OleDbConnection"
   commandClass="System.Data.OleDb.OleDbCommand"
   parameterClass="System.Data.OleDb.OleDbParameter"
   parameterDbTypeClass="System.Data.OleDb.OleDbType"
   parameterDbTypeProperty="OleDbType"
   dataAdapterClass="System.Data.OleDb.OleDbDataAdapter"
   commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder"
   usePositionalParameters="true"
   useParameterPrefixInSql="false"
   useParameterPrefixInParameter="false"
   parameterPrefix=""
    allowMARS="false"   
    />
  <provider name="OleDb2.0"
    description="OleDb, provider V2.0.0.0 in framework .NET V2"
    enabled="false"
    assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.OleDb.OleDbConnection"
    commandClass="System.Data.OleDb.OleDbCommand"
    parameterClass="System.Data.OleDb.OleDbParameter"
    parameterDbTypeClass="System.Data.OleDb.OleDbType"
    parameterDbTypeProperty="OleDbType"
    dataAdapterClass="System.Data.OleDb.OleDbDataAdapter"
    commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix=""
    allowMARS="false"
    /> 
  <provider
    name="Odbc1.1"
    description="Odbc, provider V1.0.5000.0 in framework .NET V1.1"
    enabled="true"
    assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.Odbc.OdbcConnection"
    commandClass="System.Data.Odbc.OdbcCommand"
    parameterClass="System.Data.Odbc.OdbcParameter"
    parameterDbTypeClass="System.Data.Odbc.OdbcType"
    parameterDbTypeProperty="OdbcType"
    dataAdapterClass="System.Data.Odbc.OdbcDataAdapter"
    commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix="@"
    allowMARS="false"   
    />
  <provider
    name="Odbc2.0"
    description="Odbc, provider V2.0.0.0 in framework .NET V2"
    enabled="false"
    assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.Odbc.OdbcConnection"
    commandClass="System.Data.Odbc.OdbcCommand"
    parameterClass="System.Data.Odbc.OdbcParameter"
    parameterDbTypeClass="System.Data.Odbc.OdbcType"
    parameterDbTypeProperty="OdbcType"
    dataAdapterClass="System.Data.Odbc.OdbcDataAdapter"
    commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix="@"
    allowMARS="false"   
  /> 
  <provider
    name="oracle9.2"
    description="Oracle, Oracle provider V9.2.0.401"
    enabled="false"
    assemblyName="Oracle.DataAccess, Version=9.2.0.401, 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="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="false"
    parameterPrefix=":"
    useDeriveParameters="false"
    allowMARS="false"   
  />
  <provider
    name="oracle10.1"
    description="Oracle, oracle provider V10.1.0.301"
    enabled="false"
    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"   
  />
  <provider
    name="oracleClient1.0"
    description="Oracle, Microsoft provider V1.0.5000.0"
    enabled="false"
    assemblyName="System.Data.OracleClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.OracleClient.OracleConnection"
    commandClass="System.Data.OracleClient.OracleCommand"
    parameterClass="System.Data.OracleClient.OracleParameter"
    parameterDbTypeClass="System.Data.OracleClient.OracleType"
    parameterDbTypeProperty="OracleType"
    dataAdapterClass="System.Data.OracleClient.OracleDataAdapter"
    commandBuilderClass="System.Data.OracleClient.OracleCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="false"
    parameterPrefix=":"
    allowMARS="false"   
  />
  <provider
    name="ByteFx"
    description="MySQL, ByteFx provider V0.7.6.15073"
    enabled="false"
    assemblyName="ByteFX.MySqlClient, Version=0.7.6.15073, Culture=neutral, PublicKeyToken=f2fef6fed1732fc1" connectionClass="ByteFX.Data.MySqlClient.MySqlConnection"
    commandClass="ByteFX.Data.MySqlClient.MySqlCommand"
    parameterClass="ByteFX.Data.MySqlClient.MySqlParameter"
    parameterDbTypeClass="ByteFX.Data.MySqlClient.MySqlDbType"
    parameterDbTypeProperty="MySqlDbType"
    dataAdapterClass="ByteFX.Data.MySqlClient.MySqlDataAdapter"
    commandBuilderClass="ByteFX.Data.MySqlClient.MySqlCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"
    allowMARS="false"   
  />
  <provider
    name="MySql"
    description="MySQL, MySQL provider 1.0.7.30072"
    enabled="false"
    assemblyName="MySql.Data, Version=1.0.7.30072, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionClass="MySql.Data.MySqlClient.MySqlConnection"
    commandClass="MySql.Data.MySqlClient.MySqlCommand"
    parameterClass="MySql.Data.MySqlClient.MySqlParameter"
    parameterDbTypeClass="MySql.Data.MySqlClient.MySqlDbType"
    parameterDbTypeProperty="MySqlDbType"
    dataAdapterClass="MySql.Data.MySqlClient.MySqlDataAdapter"
    commandBuilderClass="MySql.Data.MySqlClient.MySqlCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="?"
    allowMARS="false"   
  />
  <provider name="SQLite3 Finisar"
    description="SQLite, SQLite.NET provider V0.21.1869.3794"
    enabled="false"
    assemblyName="SQLite.NET, Version=0.21.1869.3794, Culture=neutral, PublicKeyToken=c273bd375e695f9c"
    connectionClass="Finisar.SQLite.SQLiteConnection"
    commandClass="Finisar.SQLite.SQLiteCommand"
    parameterClass="Finisar.SQLite.SQLiteParameter"
    parameterDbTypeClass="System.Data.DbType, System.Data"
    parameterDbTypeProperty="DbType"
    dataAdapterClass="Finisar.SQLite.SQLiteDataAdapter"
    commandBuilderClass="Finisar.SQLite.SQLiteCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"
    setDbParameterPrecision="false"
    setDbParameterScale="false"
    allowMARS="false"   
  />
  <provider name="SQLite3"
    description="SQLite, SQLite.NET provider V1.0.43.0"
    enabled="false"
    assemblyName="System.Data.SQLite, Version=1.0.43.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"
    connectionClass="System.Data.SQLite.SQLiteConnection"
    commandClass="System.Data.SQLite.SQLiteCommand"
    parameterClass="System.Data.SQLite.SQLiteParameter"
    parameterDbTypeClass="System.Data.SQLite.SQLiteType"
    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"
  />
  <provider
    name="Firebird1.7"
    description="Firebird, Firebird SQL .NET provider V1.7.0.33200"
    enabled="false"
    assemblyName="FirebirdSql.Data.Firebird, Version=1.7.0.33200, Culture=neutral, PublicKeyToken=fa843d180294369d" connectionClass="FirebirdSql.Data.Firebird.FbConnection"
    commandClass="FirebirdSql.Data.Firebird.FbCommand"
    parameterClass="FirebirdSql.Data.Firebird.FbParameter"
    parameterDbTypeClass="FirebirdSql.Data.Firebird.FbDbType"
    parameterDbTypeProperty="FbDbType"
    dataAdapterClass="FirebirdSql.Data.Firebird.FbDataAdapter"
    commandBuilderClass="FirebirdSql.Data.Firebird.FbCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"
    allowMARS="false"   
  />
  <provider
    name="PostgreSql0.99.1.0"
    description="PostgreSql, Npgsql provider V0.99.1.0"
    enabled="false"
    assemblyName="Npgsql, Version=0.99.1.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"
    connectionClass="Npgsql.NpgsqlConnection"
    commandClass="Npgsql.NpgsqlCommand"
    parameterClass="Npgsql.NpgsqlParameter"
    parameterDbTypeClass="NpgsqlTypes.NpgsqlDbType"
    parameterDbTypeProperty="NpgsqlDbType"
    dataAdapterClass="Npgsql.NpgsqlDataAdapter"
    commandBuilderClass="Npgsql.NpgsqlCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix=":"
    allowMARS="true"   
  /> 
  <provider
    name="iDb2.10"
    description="IBM DB2 Provider, V 10.0"
    enabled="false"
    assemblyName="IBM.Data.DB2.iSeries, Version=10.0.0.0,Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26, Custom=null" connectionClass="IBM.Data.DB2.iSeries.iDB2Connection"
    commandClass="IBM.Data.DB2.iSeries.iDB2Command"
    parameterClass="IBM.Data.DB2.iSeries.iDB2Parameter"
    parameterDbTypeClass="IBM.Data.DB2.iSeries.iDB2DbType"
    parameterDbTypeProperty="iDB2DbType"
    dataAdapterClass="IBM.Data.DB2.iSeries.iDB2DataAdapter"
    commandBuilderClass="IBM.Data.DB2.iSeries.iDB2CommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix=""
    allowMARS="false"   
  />
  <provider
    name="Informix"
    description="Informix NET Provider, 2.81.0.0"
    enabled="false"
    assemblyName="IBM.Data.Informix, Version=2.81.0.0, Culture=neutral, PublicKeyToken=7c307b91aa13d208"
    connectionClass="IBM.Data.Informix.IfxConnection"
    commandClass="IBM.Data.Informix.IfxCommand"
    parameterClass="IBM.Data.Informix.IfxParameter"
    parameterDbTypeClass="IBM.Data.Informix.IfxType"
    parameterDbTypeProperty="IfxType"
    dataAdapterClass="IBM.Data.Informix.IfxDataAdapter"
    commandBuilderClass="IBM.Data.Informix.IfxCommandBuilder"
    usePositionalParameters = "true"
    useParameterPrefixInSql = "false"
    useParameterPrefixInParameter = "false"
    useDeriveParameters="false"
    allowMARS="false"   
 />
</providers>

 

posted on 2011-12-24 22:05  kenny jiang  阅读(349)  评论(0编辑  收藏  举报