@Test
    public void queryForListShouldBeTraced() throws Exception {
        // Given
        final String queryForListId = "queryForListId";
        SqlMapClientTemplate clientTemplate = new SqlMapClientTemplate(this.mockDataSource, this.sqlMapClient);
        // When
        clientTemplate.queryForList(queryForListId);
        clientTemplate.queryForList(queryForListId, new Object());
        clientTemplate.queryForList(queryForListId, 0, 1);
        clientTemplate.queryForList(queryForListId, new Object(), 0, 1);
        // Then
        PluginTestVerifier verifier = PluginTestVerifierHolder.getInstance();
        Method queryForList1 = SqlMapClientTemplate.class.getDeclaredMethod("queryForList", String.class);
        Method queryForList2 = SqlMapClientTemplate.class.getDeclaredMethod("queryForList", String.class, Object.class);
        Method queryForList3 = SqlMapClientTemplate.class.getDeclaredMethod("queryForList", String.class, int.class,
                int.class);
        Method queryForList4 = SqlMapClientTemplate.class.getDeclaredMethod("queryForList", String.class, Object.class,
                int.class, int.class);
        verifier.verifyTrace(event("IBATIS_SPRING", queryForList1, Expectations.cachedArgs(queryForListId)));
        verifier.verifyTrace(event("IBATIS_SPRING", queryForList2, Expectations.cachedArgs(queryForListId)));
        verifier.verifyTrace(event("IBATIS_SPRING", queryForList3, Expectations.cachedArgs(queryForListId)));
        verifier.verifyTrace(event("IBATIS_SPRING", queryForList4, Expectations.cachedArgs(queryForListId)));
    }
Tests against spring-ibatis 2.0.7+. Prior versions require com.ibatis:ibatis2 dependency, which is not available in the repository.

@author HyunGil Jeong
agent-module/plugins-it/ibatis-it/src/test/java/com/navercorp/pinpoint/it/plugin/ibatis/SqlMapClientTemplateIT.java