Sangil's blog

https://github.com/ChoiSangIl Admin

nodeJs mssql mybatis mapper 연동 DEV / SERVER

2020-02-04 posted by sang12


mssql 에서 mybatis를 연동 하는 방법을 알아보겠습니다.
myabits는 쿼리를 쉽게 만들어주는 라이브러리로 mssql뿐만아니라 oracle, mysql등에서도 사용하는 방법이 동일합니다.
디비 연동 방법은 여기(http://sang12.co.kr/171/node-js-mssql-연동)를 참고해주세요. 

1. npm install mssql, npminstall mybatis-mapper로 해당 라이브러리를 받아옵니다.
2. 디비정보를 이용해서 커넥션을 생성합니다.
3. createMapper함수로 Mapper파일을 연동합니다.
4. param과 format 변수를 설정하고 mapper에서 사용할 매퍼네임과 쿼리 아이디를 설정합니다.  
5. 생성한 커넥션을 이용하여 쿼리를 날립니다.

아래는 소스 입니다.

-mssqlMyabtisTest.js

const sql = require('mssql')
const dbConfigMssql = require('../dbconfig/dbconfig-mssql1.js');
//mapper
const mybatisMapper = require('mybatis-mapper');

async function mssqlMyabtisTest(){
	try {
		let pool = await sql.connect(dbConfigMssql);
		mybatisMapper.createMapper([ 'C:\\Users\\USER\\Documents\\node\\mapper\\mssqlMapper.xml']);
                var param = { test: '123' };
                var format = {language: 'sql', indent: '  '};
                var query = mybatisMapper.getStatement('mssqlTest', 'getQuery', param, format);

		console.log(query);
		let result = await pool.request().query(query)
		console.dir(result)
	} catch (err) {
		console.log(err);
	}
}

sql.on('error', err => {
    // ... error handler
})

mssqlMyabtisTest();

-mssqlMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="mssqlTest">
  <select id="getQuery">
	  SELECT #{test} AS NUMBER
  </select>
</mapper>

#nodeJs mybatis 연동하기 #nodeJs mapper #노드js mybatis연동
REPLY