반응형
npm i promise-mysql
mysql 모듈 설치
config/db.js
const promiseMysql = require('promise-mysql');
let pool;
const createPool = async () =>{
pool = await promiseMysql.createPool({
host: '주소',
port : 포트번호(기본 3306),
user : 'DB아이디',
password : 'DB비밀번호',
database : 'DB명',
connectionLimit: 5
});
};
createPool();
const simpleQuery = fn => async ( ...args) =>{
let con = await pool.getConnection()
const result = await fn(con, ...args).catch(error => {
console.log(error)
con.connection.release();
throw error;
});
con.connection.release();
return result;
};
const transaction = fn => async ( ...args) =>{
let con = await pool.getConnection()
await con.connection.beginTransaction();
const result = await fn(con, ...args).catch( async(error) => {
await con.rollback();
con.connection.release();
throw error;
});
await con.commit();
con.connection.release();
return result;
};
const connection = async () =>{
let con = await pool.getConnection();
return con;
}
module.exports.simpleQuery = simpleQuery;
module.exports.transaction = transaction;
module.exports.connection = connection;

카페24 호스팅을 사용할 경우에는 MySQL 웹어드민에 있는 접속 url이 주소
npm i mybatis-mapper
mybatis 사용을 위한 모듈 설치
mapper.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="매퍼명">
<select id='쿼리명'>
쿼리작성
</select>
</mapper>
쿼리문이 들어가는 mapper 작성
sql.js
'use strict'
var mysql = require('../config/db.js');
const mybatisMapper = require('mybatis-mapper');
const path = require('path');
var format = {language: 'sql', indent: ' '};
module.exports.함수명 = mysql.simpleQuery( async (con,map)=>{
mybatisMapper.createMapper([ path.join(__dirname,'/mapper/매퍼명.xml') ]);
var query = mybatisMapper.getStatement('매퍼 네임스페이스명','매퍼 내의 쿼리명',map, format);
return await con.query(query);
});
쿼리를 호출할 sql.js 파일 생성
반응형
'개발 > Node.Js' 카테고리의 다른 글
카페24 nodejs 가입부터 git 배포까지 총정리 (0) | 2022.11.08 |
---|---|
PSSecurityException 스크립트 보안 오류 해결 방법 (0) | 2022.10.29 |
Nodejs 이메일 전송 구현(Nodemailer) (0) | 2021.01.01 |
Node 자동재시작 Supervisor 설치 (0) | 2020.12.31 |
node express bootstrap 프로젝트 만들기 (1) | 2020.12.31 |
댓글