iBatis exécuté sql
Est-il de toute façon où je peux obtenir la requête exécutée de iBatis? Je veux réutiliser la requête pour une requête UNION.
Par exemple:
<sqlMap namespace="userSQLMap">
<select id="getUser" resultClass="UserPackage.User">
SELECT username,
password
FROM table
WHERE id=#value#
</select>
</sqlMap>
Et lorsque j'exécute la requête par le biais de
int id = 1
List<User> userList = queryDAO.executeForObjectList("userSQLMap.getUser",id)
Je veux obtenir SELECT username, password FROM table WHERE id=1
Est-il possible que je puisse obtenir la requête?
Grâce.
Vous devez vous connecter pour publier un commentaire.
Il est posible de montrer cette information.iBatis utilise la Journalisation y compris
Log4J
.Pour utiliser
Log4J
de créer le fichierlog4j.properties
dans le chemin de classe.Vous avez à mettre les lignes suivantes dans le fichier, par exemple:Pour d'autres de journalisation et de détail d'info voir ce lien
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
est mentionné, mais dans votre réponse, vous êtes à l'aide delog4j.logger.com.ibatis.SQL Map.engine.impl.SQL MapClientDelegate=DEBUG
qui ne semble pas être valide configuration log4j.Ajouter à votre log4j.xml fichier et vous pouvez voir la sortie sur console.
Vous verrez les paramètres passés, la requête en cours d'exécution et le résultat de la requête.
Obtenir le
Configuration
objet à partir de votreSqlSessionFactory
, puis:Ma référence : https://www.java2s.com/Open-Source/Java-Document-2/UnTagged/gmc/com/gm/common/orm/mybatis/plugin/OffsetLimitInterceptor.java.htm
La plupart des moteurs SQL, vous permettent de "journal" toutes les requêtes exécutées (généralement avec des informations sur le moment où la requête a pris, le nombre de résultats retournés, et autres). Avez-vous accès à votre moteur de journaux, et vous pouvez le configurer de sorte qu'il va enregistrer tout ce que vous devez?
Vous pouvez utiliser p6spy ou jdbcdslog pour que.