자 일단 dataBaseConnectionPool.js 라는 파일을 생성한다.
var mysql = require("mysql");
var pool = mysql.createPool({
connectionLimit : 10,
host: 호스트,
user: 사용자,
password: 패스워드,
database: 디비명
});
만약 npm 에서 mysql 커넥터 관련 라이브러리를 다운 받지 않았다면
https://github.com/mysqljs/mysql 를 참조 하자
var DB = (function () {
function _query(query, params, callback) {
pool.getConnection(function (err, connection) {
if (err) {
connection.release();
callback(null, err);
throw err;
}
connection.query(query, params, function (err, rows) {
connection.release();
if (!err) {
callback(rows);
}else {
callback(null, err);
}
});
connection.on('error', function (err) {
connection.release();
callback(null, err);
throw err;
});
});
}
return {
query: _query
};
})();
module.exports = DB;
DB 라는 변수에 자가실행함수를 등록하였고
등록된 자가 실행함수는 생성된 커넥션 풀에서 커넥션 객체를 하나꺼내고 쿼리를 실행하고 콜함수의 쿼리 결과를 담아 리턴한다.
자 이제 호출 하는쪽을 보면...
var DB = require('../component/dataBaseConnectionPool');
일단 정의 된 DB 객체를 가져오고
var sql = 'SELECT 1 from DUAL';
DB.query(sql, [], function (rows, err) {
var returnObj;
//커넥션 객체 가져올떄 오류
if (err) {
returnObj = {
"QUERY_RESULT" : 98
};
}else{
var arr;
try{
arr = JSON.parse(JSON.stringify(rows[0]));
returnObj = {
"QUERY_RESULT" : 1
,"arr.컬럼명" : arr.컬럼명; //데이터 넣어주기
};
//데이터 없음
}catch(e){
returnObj = {
"QUERY_RESULT" : 99
};
}
}
callback(returnObj);
});
}
query 함수를 호출 하고 결과를 콜백함수를 실행해준다.
호출하는곳에서 returnObj에 QUERY_RESULT 값을 체크 하여 처리 하면 되겟다.
피드 구독하기:
댓글 (Atom)
[lunux]리눅스 폴더별 용량 확인
리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1
-
pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId&g...
-
수십대의 서버에 특정 쉘을 실행한다거나 파일을 수정해야할경우 호스트 입력 아이디 입력 패스워드 입력은 여간 짜증나는일이 아닐수 없다. 이를 한방에 해주는 방법 teraterm 를 설치한다( putty 는 버리자 ) 예를 들면 19...
-
다른 페이지로 이동 해서 프로세스 실행후 다시 이전 페이지로 돌아와야할경우 page url 을 파라미터로 넘겨야 하는데 location.protocol : 프로토콜 예) https: location.host : 도메인 예) naver.com l...
댓글 없음:
댓글 쓰기