공통 CommonDao를 작성한다.
이 클래스의 기능은 db에서 insert, update, delete java단에서 구현할 수 있도록 인터페이스로 구현한다.
또한 mybatis와의 연동도 가능하게 할 것이다.
1. CommonDAO
public interface CommonDAO {
public void setSqlSessionTemplate(SqlSessionTemplate template);
public Object insert(String queryId, Object parameterObject);
public int update(String queryId, Object parameterObject);
public int delete(String queryId, Object parameterObject);
public Object selectOne(String queryId, Object parameterObject);
public List<?> list(String queryId, Object parameterObject);
}
1) setSqlSessionTemplate : mybatis연동을 위한 함수이다.
2) insert / update / delete : 일반적인 insert, update, delete구문을 수행한다. 단건처리
3) selectOne : 일반적인 select문을 수행한다. 단건처리
4) list : 다건 select문을 수행한다.
** 이 함수들은 스프링의 특성에 따라 모든 서비스들의 함수로 사용할 것이다.
그러므로 인터페이스 - implement 클래스 관계가 된다.
2. CommonDAOImpl
@Repository("commonDAO")
public class CommonDAOImpl implements CommonDAO {
@Resource(name="stForCommon") protected SqlSessionTemplate template;
@Override
public void setSqlSessionTemplate(SqlSessionTemplate template) {
this.template = template;
}
@Override
public Object insert(String queryId, Object parameterObject)
{
return template.insert(queryId, parameterObject);
}
@Override
public int update(String queryId, Object parameterObject)
{
return template.update(queryId, parameterObject);
}
@Override
public int delete(String queryId, Object parameterObject)
{
return template.delete(queryId, parameterObject);
}
@Override
public Object selectOne(String queryId, Object parameterObject)
{
return template.selectOne(queryId, parameterObject);
}
@Override
public List<?> list(String queryId, Object parameterObject)
{
return template.selectList(queryId, parameterObject);
}
}
1) setSqlSessionTemplate 함수구현
- mybatis를 사용하려면 다음과 같이 설정해준다.
- 리소스는 stForCommon를 불러온다. database-context에서 설정한 공통쿼리를 불러오는것이다.
2) 나머지 구현
- 쿼리아이디, 파라미터를 넘겨주면 결과를 리턴해주도록 작성한다.
- 이제 쿼리를 실행하여 결과값을 불러올때 이 함수를 사용하면 된다.
CommonDAO / CommonDAOImpl 끝
반응형
'쓸만한 JSP 홈페이지 만들기' 카테고리의 다른 글
file-query.xml (0) | 2019.06.21 |
---|---|
cache-query.xml (0) | 2019.06.21 |
Spring 설정xml - common-context.xml (0) | 2019.05.05 |
톰캣오류 - At least one JAR was scanned for TLDs yet contained no TLDs. (0) | 2019.05.01 |
web.xml설정 - ExcludeServlet (0) | 2019.05.01 |