반응형
이전 mssql connection 내용을 먼저 참조하시는게 좋습니다.
2022.05.03 - [분류 전체보기] - [NodeJS] MSSQL DB Pool 설정
0. 모듈 설치
$> npm i --save mybatis-mapper
1. xml 생성
: TestSQL.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="TestSQL">
<select id="getList">
SELECT COL1
, COL2
FROM TEMP
WHERE COL1 = #{KEY1}
</select>
2. sql 호출페이지에서 로드
const express = require('express');
const app = express();
const PORT = process.env.PORT || 8080; // 8080포트로 지정
const pool = require('./db/sql'); // 사전에 생성산 pool 로드
const mapper = require('mybatis-mapper'); // MyBatis Mapper 로드
mapper.createMapper(['./TestSQL.xml']) // MyBatis SQL 로드
// http://localhost:8080/api/test로 들어온 경우의 함수 생성
app.get('/api/test', async (req, res) => {
try{
const query = await pool; // Query 실행을 위한 Pool 지정
const params = { 'KEY1':'ASDF' }
const format = { language:'sql' };
const sqlText = mapper.getStatement('TestSQL', 'getList', params, format);
const result = await query.request().query(sqlText);
res.send(result); // Response에 결과값을 포함하여 전달
}catch(err){
res.status(500); // 에러 발생시 Response 상태를 서버에러인 500에러로 세팅
res.send(err.message); // 에러 발생시 Response에 서버에러 내용 포함 전달
}
})
// 서버 실행
app.listen(PORT, () => {
console.log(`Server On : http://localhost:${PORT}/`);
})
반응형
'개발 창고 > NodeJS' 카테고리의 다른 글
[Puppeteer] Element Exists (0) | 2022.10.03 |
---|---|
[Puppeteer] 현재 페이지 URL 가져오기 (0) | 2022.09.26 |
[Database] MSSQL DB Pool 설정 (0) | 2022.05.03 |
[FileSystem] 폴더 내 목록 불러오기 (0) | 2022.04.12 |
[File] 웹서버에 정적 파일 접근 기능 추가하기 (0) | 2022.03.31 |