js - graphql,apollo 사용법(3)
https://velog.io/@any1ok/Nodejs - graphql,apollo 사용법(1)
이 스크립트를 보기전에 첫회차인 위스크립트를 보도록 하자!
graphql,apollo 사용법 에 넘어서 db 와 연결해보려 한다.
먼저 lib/db.js 에
const path = require("path");
const Sequelize = require("sequelize");
const mybatisMapper = require("mybatis-mapper");
const db = {};
const sequelize = new Sequelize(
DB_URL,
{
dialect: "postgres",
dialectOptions: {
statement_timeout: 5000,
idle_in_transaction_session_timeout: 5000
},
define: {},
pool: {
max: 60,
min: 0,
idle: 10000,
acquire: 20000
},
logging: console.log,
}
);
const sqlPath = path.join(__dirname, "..", ".", `/sql`);
mybatisMapper.createMapper([`${sqlPath}/memo.xml`]);
db.sequelize = sequelize;
db.mybatisMapper = mybatisMapper;
module.exports = db;
pg 접속은 기본으로 해주고
mybatisMapper 는 필자가 자주사용하는 쿼리 매핑 라이브러리다.
사용하기 간편하니 자주써보도록하자.
server.js 에서
const db = require(`${__dirname}/lib/db`);
사용을위해 들고와준다
Query: {
memos: async () =>{
const memo_all = db.mybatisMapper.getStatement(
"MEMO",
"SELECT_MEMO_ALL.SELECT",
{
},
{ language: "sql", indent: " " }
)
console.log(memo_all);
var memos = await db.sequelize.query(memo_all, {
type: db.sequelize.QueryTypes.SELECT,
});
return memos
},
위 코드처럼 resolver 함수에 sequelize 로 돌려주면!
잘 실행된다.
Author And Source
이 문제에 관하여(js - graphql,apollo 사용법(3)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@any1ok/Nodejs-graphqlapollo-사용법3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)