첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

TestProject.zip
0.67MB

▶ 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="Odbc1.1"
        description="Odbc, provider V1.0.5000.0 in framework .NET V1.1"
        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"
        enabled="false" />
    <provider name="Odbc2.0"
        description="Odbc, provider V2.0.0.0 in framework .NET V2"
        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"
        enabled="false" />
    <provider name="OleDb1.1"
        description="OleDb, provider V1.0.5000.0 in framework .NET V1.1"
        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"
        enabled="false" />
    <provider name="OleDb2.0"
        description="OleDb, provider V2.0.0.0 in framework .NET V2"
        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"
        enabled="false" />
    <provider name="sqlServer1.0"
        description="Microsoft SQL Server, provider V1.0.3300.0 in framework .NET V1.0"
        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"
        enabled="false" />
    <provider name="sqlServer1.1"
        description="Microsoft SQL Server, provider V1.0.5000.0 in framework .NET V1.1"
        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"
        enabled="false" />
    <provider name="sqlServer2.0"
        description="Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0"
        enabled="false"
        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="sqlServer4.0"
        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="false"
        enabled="false" />
    <provider name="sqlServer2005"
        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"
        enabled="false" />
    <provider name="oracle9.2"
        description="Oracle, Oracle provider V9.2.0.401"
        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"
        enabled="false" />
    <provider name="oracle10.1"
        description="Oracle, oracle provider V10.1.0.301"
        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"
        enabled="false" />
    <provider name="oracleClient1.0"
        description="Oracle, Microsoft provider V1.0.5000.0"
        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"
        enabled="false" />
    <provider name="PostgreSql4.0.7.0"
        description="PostgreSql, Npgsql provider V4.0.7.0"
        assemblyName="Npgsql, Version=4.0.7.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"
        enabled="true" />
    <provider name="MySql"
        description="MySQL, MySQL provider 1.0.7.30072"
        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"
        enabled="false" />
    <provider name="ByteFx"
        description="MySQL, ByteFx provider V0.7.6.15073"
        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"
        enabled="false" />
    <provider name="iDb2.10"
        description="IBM DB2 Provider, V 10.0"
        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"
        enabled="false" />
    <provider name="Informix"
        description="Informix NET Provider, 2.81.0.0"
        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"
        enabled="false" />
    <provider name="SQLite3"
        description="SQLite, SQLite.NET provider V1.0.105.1"
        assemblyName="System.Data.SQLite, Version=1.0.105.1, 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"
        enabled="false" />
    <provider name="SQLite3 Finisar"
        description="SQLite, SQLite.NET provider V0.21.1869.3794"
        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"
        enabled="false"  />
    <provider name="Firebird1.7"
        description="Firebird, Firebird SQL .NET provider V1.7.0.33200"
        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"
        enabled="false" />
</providers>

 

728x90

 

▶ sql.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="DataDAO.GetDataList" resultClass="TestProject.DataModel">
            SELECT *
            FROM   PUBLIC.LIBRARY_DATA
            WHERE  MENU_ID = '439BE38B-F7CD-447A-9266-54F906A22A7B'
        </select>
    </statements>
</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">
    <settings>
        <setting useStatementNamespaces="false" />
    </settings>
    <providers resource="Providers.config" />
    <database>
        <provider name="PostgreSql4.0.7.0" />
        <dataSource name="TestDB"
            connectionString="Host=127.0.0.1;Port=5432;Database=TestDB;User ID=postgres;Password=postgres;" />
    </database>
    <sqlMaps>
        <sqlMap resource="sql.xml" />
    </sqlMaps>
</sqlMapConfig>

 

300x250

 

▶ DataModel.cs

namespace TestProject
{
    /// <summary>
    /// 자료 모델
    /// </summary>
    public class DataModel
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Property
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 자료 ID - ID

        /// <summary>
        /// 자료 ID
        /// </summary>
        public string ID { get; set; }

        #endregion
        #region 메뉴 ID - MENU_ID

        /// <summary>
        /// 메뉴 ID
        /// </summary>
        public string MENU_ID { get; set; }

        #endregion
        #region 제목 - SUBJECT

        /// <summary>
        /// 제목
        /// </summary>
        public string SUBJECT { get; set; }

        #endregion
    }
}

 

▶ DataDAO.cs

using System.Collections.Generic;

using IBatisNet.DataMapper;
using IBatisNet.DataMapper.Configuration;

namespace TestProject
{
    /// <summary>
    /// 자료 DAO
    /// </summary>
    public class DataDAO
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 매퍼 구하기 - GetMapper()

        /// <summary>
        /// 매퍼 구하기
        /// </summary>
        /// <returns>SQL 매퍼 인터페이스</returns>
        public ISqlMapper GetMapper()
        {
            DomSqlMapBuilder builder = new DomSqlMapBuilder();

            ISqlMapper mapper = builder.Configure("SqlMap.config");

            return mapper;
        }

        #endregion

        #region 자료 리스트 구하기 - GetDataList()

        /// <summary>
        /// 자료 리스트 구하기
        /// </summary>
        /// <returns>자료 리스트</returns>
        public IList<DataModel> GetDataList()
        {
            ISqlMapper mapper = Mapper.Instance();

            IList<DataModel> list = mapper.QueryForList<DataModel>("DataDAO.GetDataList", null);

            return list;
        }

        #endregion
    }
}

 

▶ MainForm.cs

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace TestProject
{
    /// <summary>
    /// 메인 폼
    /// </summary>
    public partial class MainForm : Form
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Field
        ////////////////////////////////////////////////////////////////////////////////////////// Private

        #region Field

        /// <summary>
        /// 자료 DAO
        /// </summary>
        private DataDAO dao = new DataDAO();

        #endregion

        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 생성자 - MainForm()

        /// <summary>
        /// 생성자
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            this.selectButton.Click += selectButton_Click;
        }

        #endregion

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Private

        #region Select 버튼 클릭시 처리하기 - selectButton_Click(sender, e)

        /// <summary>
        /// Select 버튼 클릭시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        private void selectButton_Click(object sender, EventArgs e)
        {
            IList<DataModel> list = this.dao.GetDataList();

            MessageBox.Show(list.Count.ToString());
        }

        #endregion
    }
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요