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.)