항해중인 개발자

인터페이스에서 QUERY 작성하기 본문

mysql

인터페이스에서 QUERY 작성하기

바다를바라보다 2021. 11. 19. 15:39

다이나믹하게 쿼리를 짜보고 싶어서 XML 파일이아닌

인터페이스에 변수로 쿼리를 등록해놓고 사용해보고 싶었다.

 

우선 context-application.xml 에 spring bean으로 등록 해야 스프링에서 빈 주입을 해준다!

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.workerman.mapper"/> // mapper 인터페이스를 만든 경로
</bean>

 

interface등록

@Mapper
public interface BizMsgMapper { 
	
	String QueryStr = "SELECT table_name\r\n"
			+ "			FROM information_schema.tables    \r\n"
			+ "			WHERE table_type = 'BASE TABLE'\r\n"
			+ "			AND table_schema='workerman_dev2' and table_name like '%BIZ_LOG%'";
	
	@Select(QueryStr) 
	List<Map<String, Object>> findWork(); 
	
}

서비스에 등록 후 사용

@Service("bizService")
public class BizService implements BizMsgMapper {
	
	@Autowired 
	private BizMsgMapper bizMsgMapper;

	@Override
	public List<Map<String, Object>> findWork() {
		
		return bizMsgMapper.findWork();
	}
}
0 Comments
댓글쓰기 폼