본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Node.js

Nodejs 에서 Mybatis 사용하기 (마이바티스, Node.js Mybatis)

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2019. 5. 16.

 

 

Node.js 환경에서 데이터베이스에 접속하여 데이터베이스를 매핑하는 ORM의 대표적인 도구들은 거진 함수형으로 되어있습니다.(시퀄라이져, 타입ORM등)

문득 자바(java) 처럼 마이바티스(mybatis)는 없을까? 라는 생각을 가지고 xml을 읽어서 치환해 주는 기능을 따로 만들어서 프로젝트에서 적용하고 있었습니다.

 

그런데, 구글에 혹시나해서 검색 해 보니 이름마져도 친숙한 mybatis-mapper 라는 모듈이 이미 존재하고 있었습니다.

Java에서 Mybatis로 개발을 많이 해왔던 터라...내용은 어렵지 않았습니다.

설치와 적용 방법은 매우 간단합니다.

 

npm install mybatis-mapper

 

설치가 완료되고 난 다면 접속할 데이터베이스를 선택하여 줍니다.(관계형 데이터베이스, 여기서는My-sql에 접속)

const mysql = require('mysql');  //My-sql을 사용하였습니다.
const mybatisMapper = require('mybatis-mapper');  //매핑할 마이바티스
 
const connection = mysql.createConnection({  //커넥션 생성
  host: '주소',
  user: '아이디',
  database: '데이터베이스명칭',
  password : '비밀번호'
});
 
//흔히 알고있는 매퍼로드(xml이 있는 디렉토리 주소&파일위치를 입력하여주세요!!!)
mybatisMapper.createMapper([ './testMapper.xml' ]);  //예) xml파일이 D드라이브에 있다면, D:/매퍼.xml
 
//조회할 파라미터
let param = {
    test_id : 1
}
 
//질의문 형식
let format = {language: 'sql', indent: '  '};
let query = mybatisMapper.getStatement('testMapper', 'testBasic', param, format);
//첫번째는 xml의 name값, 두번째는 해당 xml의 id값, 세번째는 파라미터, 마지막은 포맷 입니다.

console.log(query);  //해당쿼리가 조합된 것을 볼 수 있습니다.

connection.connect();
connection.query(query, function (error, results, fields) {  //조회
    if (error) {
        console.log(error);
    }
    console.log(results);
});
connection.end();

 

아래 xml 파일은 testMapper.xml에 대한 내용 입니다.

자바(Java) 에서 사용하던 Mybatis랑 거의 사용법이 동일하기 때 문에 쉽게 접근 할 수 있었습니다.

<?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="testMapper">  
  <select id="testBasic">
    SELECT
      *
    FROM
      tb_test 
    WHERE
      test_id =#{test_id}
  </select>
</mapper>

 

결과사진

결과도 잘 나옵니다.

마찬가지로 if, where, include 같은 명령어가 모두 사용 가능 합니다.

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. Latest version: 0.6.8, last published: 7 months ago. Start using mybatis-mapper in your project by running `npm i mybatis-mapper`. Th

www.npmjs.com

 

간단하게 살펴본 Nodejs 환경 에서 Mybatis 사용하기 였습니다.

궁금한점 또는 틀린점은 언제든 연락주세요!

 

반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글