Comment puis-je setQueryTimeout sur SimpleJdbcTemplate?
Le Framework Spring a deux classes: JdbcTemplate est l'ancien, Java 1.4 classe, et SimpleJdbcTemplate est plus récent, avec plus agréables méthodes.
JdbcTemplate a une méthode setQueryTimeout, qui, fondamentalement, me donne accès à une méthode avec le même nom sur le sous-jacent Déclaration de l'objet.
Est-il possible de faire quelque chose de similaire avec un SimpleJdbcTemplate?
Solution: Basé sur skaffman de réponse, j'ai créer le SimpleJdbcTemplate
objet moi-même à partir d'un JdbcTemplate
, alors maintenant, je peux faire ce que je veux. Code:
JdbcTemplate jdbcTemplate = this.getJdbcTemplate();
jdbcTemplate.setQueryTimeout(30);
SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(jdbcTemplate);
Un peu bouchée, mais fait le travail.
Mise à jour: C'est en effet plus compliqué que nécessaire. Voir la réponse.
Quelle est l'unité pour le délai d'expiration de requête?
secondes.
OriginalL'auteur itsadok | 2009-07-30
Vous devez vous connecter pour publier un commentaire.
SimpleJdbcTemplat
e n'est pas un remplacement pourJdbcTemplate
, c'est juste un java5-friendly supplément, pour certaines opérations qui peuvent tirer le meilleur parti de varargs et les génériques.Si vous regardez le code source pour
SimpleJdbcTemplate
, vous verrez qu'il délègue l'ensemble de ses travaux à unJdbcTemplate
objet, et donc par définir le délai d'expiration (ou d'autres options) surJdbcTemplate
, vous implicitement les mettre sur leSimpleJdbcTemplate
aussi.Si vous êtes l'obtention de la
SimpleJdbcTemplate
viaSimpleJdbcDaoSupport.getSimpleJdbcTemplate()
, puis leJdbcTemplate
ont déjà été configurés correctement.edit:
Par exemple:
La SimpleJdbcTemplate contient les mêmes JdbcTemplate qu'est récupéré par getJdbcTemplate().
Si vous n'avez pas étendre SimpleJdbcDaoSupport, alors oui, vous avez besoin de construire manuellement un SimpleJdbcTemplate vous-même.
Vous n'avez pas mentionné dans votre question, vous posiez des questions sur SimpleJdbcTemplate. Veuillez modifier votre question à clarifier ce que vous voulez vraiment.
Non, mon commentaire n'était pas clair. Je voulais dire que le fait d'avoir un SimpleJdbcTemplate objet, tout ce que j'ai est le
getJdbcOperations()
méthode. Il n'y a pasgetUnderlyingJdbcTemplate()
méthode.De toute façon, je pense que je l'ai eu (voir mise à jour en question). Merci!
OriginalL'auteur skaffman