๐Ÿ‘จ‍๐Ÿ’ป kimtongting
article thumbnail

 

Node.js ์—์„œ์˜ MyBatis

 

node.js

 

์ฃผ๋ณ€ ์ง€์ธ๋“ค์—๊ฒŒ NodeJS๋ฅผ ๊ถŒ์œ ํ•˜๋ฉด์„œ ์Šคํ„ฐ๋””๋ฅผ ํ•˜๋‹ค MyBatis์— ๋Œ€ํ•ด ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ๋ฌป๊ธธ๋ž˜ ๋‹ต๋ณ€์„ ํ•ด์คฌ๋˜ ๊ธฐ์–ต์ด ์žˆ๋‹ค.

Spring Framework ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Restful API ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ–ˆ๋˜ MyBatis, 

 

์ตœ๊ทผ์—๋„ ๊ด€๋ จ ์งˆ๋ฌธ์ด ๋“ค์–ด์™”๊ณ , ๋ถ„๋ช… ๋ˆ„๊ตฐ๊ฐ€๋Š” ๊ถ๊ธˆํ•ด ํ•˜์‹ค ๊ฒƒ์ด๊ธฐ์—!

๊ทธ ๋ถ„๋“ค์„ ์œ„ํ•ด ๊ณต์œ ํ•œ๋‹ค.

 

์„ค์น˜

$ npm install mybatis-mapper

 

์„ ์–ธ

const mysql = require('postgresql');  //RDBMS
const mybatisMapper = require('mybatis-mapper');  //์„ค์น˜ํ•œ Mybatis lib ๋งตํ•‘
 
 //๋ณ„๋„๋กœ ์„ค์ •์„ ๋นผ์ฃผ๋Š”๊ฒŒ ์ข‹์œผ๋‚˜, ์˜ˆ์‹œ๋ฅผ ์œ„ํ•ด ํ•œ ๊ณณ์— ์„ ์–ธ.
const connection = mysql.createConnection({  //์ปค๋„ฅ์…˜ ์ƒ์„ฑ
  host: '์ฃผ์†Œ',
  database: '๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค',
  user: '',
  password : '๋น„๋ฐ€๋ฒˆํ˜ธ'
});
 
 
//mapper ๊ฒฝ๋กœ
mybatisMapper.createMapper([ './src/resources/mappers/salesMapper.xml' ]);  
 
//์กฐํšŒํ•  ํŒŒ๋ผ๋ฏธํ„ฐ
var param = {
    sDate : '20210801',
    eDate : '20210831'
}
 
//์งˆ์˜๋ฌธ ํ˜•์‹
var format = {language: 'sql', indent: '  '};

//Spring FrameWork RESTFUL ์—์„œ DAO ์—ญํ• ์„ ํ•˜๋Š” ๊ตฌ๋ฌธ
//์ˆœ์„œ๋Œ€๋กœ xml์˜ name, xml์˜ id๊ฐ’, ํŒŒ๋ผ๋ฏธํ„ฐ, ํฌ๋งท.
var query = mybatisMapper.getStatement('salesMapper', 'dateBasic', param, format);

connection.connect();	//์—ฐ๊ฒฐํ•˜๊ณ ,
connection.query(query, function (error, results, fields) {  //์ „๋‹ฌ
    if (error) {
        console.log(error);
    }
    console.log(results);
});
connection.end();	//๋Š๋Š”๋‹ค.

 

 

 

MyBatis 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="salesMapper">  
  <select id="testBasic">
    SELECT
      *
    FROM
      TB_SALES
    WHERE
      transaction_date between #{sDate} AND #{eDate}
  </select>
</mapper>
...

 

๋งˆ๋ฌด๋ฆฌ(๊ด€๋ จ๊ธ€)

https://www.npmjs.com/package/mybatis-mapper

 

mybatis-mapper

mybatis-mapper can generate SQL statements from the MyBatis3 Mapper XML file in node.js. You can use Dynamic SQL elements

www.npmjs.com

 

 

๋ฐ˜์‘ํ˜•
profile

๐Ÿ‘จ‍๐Ÿ’ป kimtongting

@kimtongting ์ž…๋‹ˆ๋‹ค

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!