데이터 접근하기
필요한 선수 지식
데이터 접근 기술의 개념에 대해 익숙하다고 가정합니다.
팁
데이터 접근 기술에는 크게 SQL Mapper, ORM(Object Relational Mapper)이 있습니다.
데이터 접근 기술은 어떤 것을 활용하나요?
SQL을 xml을 통해 편리하게 작성할 수 있습니다.
동적 쿼리를 매우 편리하게 작성할 수 있습니다.
DB데이터에 직접 연결할 수는 없나요?
ProjectRoom 접근기술에 맞는 규격이 있나요?
네, ProjectRoom에서는 Mybatis 형식의 접근기술을 지원하며, 해당 형식은 기본 형상구조가 정해져있습니다.
아래에 ProjectRoom에서 지원하는 언어별 규격을 알아보겠습니다.
Java에서는 크게 3개를 보면 된다.
module -> URL mapping을 하는 영역
service -> 핵심 로직이 들어가는 영역
mapper -> SQL을 구성하는 영역

Node에서는 크게 2개를 보면 된다.
module -> URL mapping 및 핵심 로직이 들어가는 영역
mapper -> SQL을 구성하는 영역

mapper 파일은 어떻게 만들면 되나요?
mapper 폴더 아래에 xml 기반의 sql을 작성하시면 됩니다.
mapper를 만들었는데 어떻게 사용하나요?
@Service
public class 서비스클래스 {
private static final Logger logger = LoggerFactory.getLogger(UserService.class);
CommonDao commonDao;
@Autowired
public 서비스클래스(CommonDao commonDao) {
this.commonDao = commonDao;
}
public DataItem getUserById(DataItem param) {
return commonDao.select("네임스페이스.아이디", param);
}
}참고 예

exports.메소드 = async (param, context) => {
const dao = context.dao;
// dao를 통해 DB에 있는 데이터에 접근합니다.
return await dao.select("네임스페이스.아이디", {});
}참고 예시

앞서 mapper를 작성하였다면 사용은 위와 같은 형태로 dao 객체를 활용하시면 됩니다.
자세한 dao 객체 사용법은 해당 API를 참고하시면 됩니다.
DB Connection 등은 ProjectRoom에서 wrapping하여 사용자는 볼 수 없습니다.
Last updated
