본문 바로가기

dev/Oracle

[ASP.NET + IBatis + Oracle] DB 환경설정, IBatis로 데이터베이스 연결 예시코드

반응형

 

 

구축환경

- C#

- IBatis

- Oracle Client 11g

- ASP.NET

- Visual Studio 2019

 

 

 

파일구조

 

 

 

1. NuGet으로 프로젝트에 IBatisNet.Core 패키지 설치

 

 

 

 

2. 프로젝트 최상위에 providers.config 파일 생성

 

내가 작성한 코드는 Oracle Client 11g 기준으로, 다른 방법을 사용한다면 다른 provider를 작성해주어야 한다.

아래 파일에서 맞는 provider를 찾아 복사해주면 된다.

providers.config
0.01MB

 

 

해당 파일 원본은 https://code.google.com/archive/p/mybatisnet/download에서

IBatis.DataMapper.1.6.2.bin.zip 폴더를 다운로드 받으면 찾을 수 있다.

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

 

<?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="oracleClient1.0"
    description="Oracle, Microsoft provider V1.0.5000.0"
    enabled="true"
    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"
  />

</providers>

 

 

 

 

3. sqlTest.xml (파일명은 원하는 대로 바꿔도 상관 없음)

 

필요한 sql문 작성

테스트니까 간단하게 작성한다

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

<sqlMap namespace="프로젝트명" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ibatis.apache.org/mapping">

  <alias>
    <typeAlias alias="TestParamModel"  type="프로젝트명.Models.TestParamModel" />
    <typeAlias alias="TestResultModel"  type="프로젝트명.Models.TestResultModel" />
  </alias>

  <statements>
    <select id="getUser" resultClass="TestResultModel" parameterClass="TestParamModel">
      	SELECT USER_NAME, USER_AGE
        FROM USER
        WHERE USER_NAME = #userNameInput#
    </select>
  </statements>

</sqlMap>

 

 

 

4. providers.config와 같은 프로젝트 최상위에 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"/>
    <setting cacheModelsEnabled="true"/>
    <setting validateSqlMap="false"/>
  </settings>
  
  <database>
    <!-- 사용하는 DB 종류에 맞게 변경해줘야 함 -->
    <provider name="oracleClient1.0"/>
    <!-- 본인의 DB 정보에 따라 변경 -->
    <dataSource name="sqlConn" connectionString="Data Source=DB명; USER ID=유저아이디; Password=비밀번호; Pooling=true" />
  </database>

  <sqlMaps>
    <!-- sql문 작성한 xml 파일 경로 찾아줘야 함 -->
    <sqlMap resource="./iBatis/sqlTest.xml" />
  </sqlMaps>

</sqlMapConfig>

 

 

 

 

 

 

반응형