@Test
    public void queryForObjectShouldBeTraced() throws Exception {
        // Given
        final String queryForObjectId = "queryForObjectId";
        SqlMapClientTemplate clientTemplate = new SqlMapClientTemplate(this.mockDataSource, this.sqlMapClient);
        // When
        clientTemplate.queryForObject(queryForObjectId);
        clientTemplate.queryForObject(queryForObjectId, new Object());
        clientTemplate.queryForObject(queryForObjectId, new Object(), new Object());
        // Then
        PluginTestVerifier verifier = PluginTestVerifierHolder.getInstance();
        Method queryForObject1 = SqlMapClientTemplate.class.getDeclaredMethod("queryForObject", String.class);
        Method queryForObject2 = SqlMapClientTemplate.class.getDeclaredMethod("queryForObject", String.class,
                Object.class);
        Method queryForObject3 = SqlMapClientTemplate.class.getDeclaredMethod("queryForObject", String.class,
                Object.class, Object.class);
        verifier.verifyTrace(event("IBATIS_SPRING", queryForObject1, Expectations.cachedArgs(queryForObjectId)));
        verifier.verifyTrace(event("IBATIS_SPRING", queryForObject2, Expectations.cachedArgs(queryForObjectId)));
        verifier.verifyTrace(event("IBATIS_SPRING", queryForObject3, Expectations.cachedArgs(queryForObjectId)));
    }
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