mybatis XML 문제 질문입니다
- 작성자 :
- 유*호
- 작성일 :
- 2017-05-23 09:31:13
- 조회수 :
- 3,487
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
개발환경
개발자용 개발환경 3.2.0
전자정부프레임워크 3.1.0
mybatis 3.2.7
Java 1.6
============================
Mybatis SqlSessionTemplate 빈을 등록하고 mybatis Mapper 인터페이스 작성없이 SQL XML파일 namespace에
임의의 alias를 지정 후 사용하려고 하려고하는데
기능에는 문제가 없지만 이클립스상에서 아래와 같은 경고가 표출됩니다.
Method 'selectBoardList' not found or there is an overload method (same name with different parameters) in mapper interface board
인터페이스를 작성하고 namespace에 인터페이스 경로를 명시해주면 메세지는 사라집니다만
특이한것은 개발자용 개발환경 3.6.0 버전에서는 경고메세지가 표출되지 않습니다.
인터페이스를 작성하지않고 사용하려고 하는데 위와같은 경고가 표출되는 이유와 해결방법이 궁급합니다.
=====================================================
설정내용
=======================================================
>> mybatis sqlsession 설정 xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<!-- lob Handler -->
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />
<!-- SqlSession setup for MyBatis Database Layer -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/sqlmap/sql-config.xml" />
<property name="mapperLocations" value="classpath:/sqlmap/mappers/**/*.xml" />
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg index="0" ref="sqlSession"/>
</bean>
<!--/SqlSession setup for MyBatis Database Layer -->
</beans>
>> DAO
/** SqlSessionTemplate Bean 객체 주입 */
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
/**
* 게시판 리스트 조회
* @param MemberVO
* @return MemberVO
* @throws Exception
*/
public List<HashMap<String, Object>> selectBoardListDAO(SearchVO searchVO){
return sqlSessionTemplate.selectList("board.selectBoardList", searchVO);
}
>> SQL Mapper XML
<mapper namespace="board">
<!-- 게시판 리스트 조회 -->
<select id="selectBoardList" parameterType="sample.board.vo.SearchVO" resultType="hashMap">
SELECT
SEQ,
TITLE,
FROM
TB_BOARD
</select>
</mapper>
개발자용 개발환경 3.2.0
전자정부프레임워크 3.1.0
mybatis 3.2.7
Java 1.6
============================
Mybatis SqlSessionTemplate 빈을 등록하고 mybatis Mapper 인터페이스 작성없이 SQL XML파일 namespace에
임의의 alias를 지정 후 사용하려고 하려고하는데
기능에는 문제가 없지만 이클립스상에서 아래와 같은 경고가 표출됩니다.
Method 'selectBoardList' not found or there is an overload method (same name with different parameters) in mapper interface board
인터페이스를 작성하고 namespace에 인터페이스 경로를 명시해주면 메세지는 사라집니다만
특이한것은 개발자용 개발환경 3.6.0 버전에서는 경고메세지가 표출되지 않습니다.
인터페이스를 작성하지않고 사용하려고 하는데 위와같은 경고가 표출되는 이유와 해결방법이 궁급합니다.
=====================================================
설정내용
=======================================================
>> mybatis sqlsession 설정 xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<!-- lob Handler -->
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />
<!-- SqlSession setup for MyBatis Database Layer -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/sqlmap/sql-config.xml" />
<property name="mapperLocations" value="classpath:/sqlmap/mappers/**/*.xml" />
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg index="0" ref="sqlSession"/>
</bean>
<!--/SqlSession setup for MyBatis Database Layer -->
</beans>
>> DAO
/** SqlSessionTemplate Bean 객체 주입 */
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
/**
* 게시판 리스트 조회
* @param MemberVO
* @return MemberVO
* @throws Exception
*/
public List<HashMap<String, Object>> selectBoardListDAO(SearchVO searchVO){
return sqlSessionTemplate.selectList("board.selectBoardList", searchVO);
}
>> SQL Mapper XML
<mapper namespace="board">
<!-- 게시판 리스트 조회 -->
<select id="selectBoardList" parameterType="sample.board.vo.SearchVO" resultType="hashMap">
SELECT
SEQ,
TITLE,
FROM
TB_BOARD
</select>
</mapper>
A
안녕하세요.
표준프레임워크 센터입니다.
말씀하신 경고 메세지는 개발표준을 정의하셔서 진행 하시면 될꺼 같습니다.
개발환경 3.5에서는 이클립스 mars 버전을 사용하고 있습니다.
이클립스 버전 마다 problems rule 다르게 되어 있습니다.
표준프레임워크 센터입니다.
말씀하신 경고 메세지는 개발표준을 정의하셔서 진행 하시면 될꺼 같습니다.
개발환경 3.5에서는 이클립스 mars 버전을 사용하고 있습니다.
이클립스 버전 마다 problems rule 다르게 되어 있습니다.