有没有办法可以得到iBatis的执行查询?我希望将该查询重用于UNION查询。
例如:
<sqlMap namespace="userSQLMap">
<select id="getUser" resultClass="UserPackage.User">
SELECT username,
password
FROM table
WHERE id=#value#
</select>
</sqlMap>
当我通过执行查询时
int id = 1
List<User> userList = queryDAO.executeForObjectList("userSQLMap.getUser",id)
我想让SELECT username, password FROM table WHERE id=1
有什么方法可以让我得到这个查询吗?
谢谢。
发布于 2010-06-15 23:14:50
有可能显示该information.iBatis使用了包括Log4J
在内的一些日志记录框架。
要使用Log4J
,请在类路径中创建文件log4j.properties
。您必须在文件中添加接下来的几行,例如:
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.com.ibatis=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
有关其他日志记录框架和详细信息,请参阅this link
发布于 2011-07-29 21:26:46
将其添加到您的log4j.xml文件中,您可以在控制台上看到输出。
<logger name="java.sql" additivity="false">
<level value="debug" />
<appender-ref ref="console" />
</logger>
您将看到传递的参数、执行的查询和查询的输出。
发布于 2014-01-28 14:11:41
从SqlSessionFactory
获取Configuration
对象,然后:
MappedStatement ms = configuration.getMappedStatement("MyMappedStatementId");
BoundSql boundSql = ms.getBoundSql(parameters); // pass in parameters for the SQL statement
System.out.println("SQL" + boundSql.getSql());
https://stackoverflow.com/questions/2635058
复制相似问题