comment passer plusieurs valeurs de requête à l'aide de jdbcTemplate au printemps
Dans mon Printemps applications Hibernate j'ai toutes les requêtes sql dans un common_queries.xml fichier,où certaines requêtes ont besoin de 2 à 3 paramètres comme ci-dessous
<query id="mining.fuel" no-of-params="2">
select ms.id id,ms.name value,concat(ms.name,' ',' (',ms.code,')') label,ms.rate rate from mining_fuel ms where ms.name like '?' and ms.fuel_type_id=? LIMIT 10
</query>
Dans mon daoImpl-je obtenir cette requête
lookupList = jdbcTemplate.queryForList(q1.getQuery());
Je vais avoir la requête ici,mais comment passer la valeur de '?'s ici, j'ai ces 2 valeurs avec moi dans daoImpl.. pl envoyer le code de la façon d'atteindre cet objectif.Je ne veux pas utiliser de l'instruction préparée.
OriginalL'auteur Anupama | 2011-08-10
Vous devez vous connecter pour publier un commentaire.
Utilisation cette surcharge qui prend un Objet vararg pour passer les paramètres de la requête:
Essayez de supprimer les guillemets autour de la première
?
:like ?
.en fait, je veux utiliser ( comme ' ?% ') mais si je supprime les guillemets simples (? % ) son montrant sql grammaire exception..Si je l'utilise avec des citations de ses showin paramètre en dehors des limites de l'exception.
Je suppose que vous avez besoin de l'utiliser sans les guillemets et le '%' annexé à la valeur:
... like ? ...
, puis votre valeur doit êtresomeString + '%'
Merci u tellement .Il a travaillé.
OriginalL'auteur Costi Ciudatu
Je pense que vous avez seulement besoin de créer un tableau d'Objets avec les paramètres utilisés par la requête, tenir à l'esprit que l'ordre est important, car valeur1 sera le premier de remplacement ? dans la requête.
OriginalL'auteur German Attanasio
Appelle d'abord la queryForList méthode sur jdbctemplate de référence et de passer de la requête et de l'objet de type tableau dans ce type d'objet tableau, nous devons passer seulement les objets signifie que si nous avons l'id est de type int, nous devons convertir le type d'objet, tout en mettant à l'intérieur de l'objet array.
lookupList = jdbcTemplate.queryForList(q1.getQuery, new Object[]{désignation, new Integer(id), new Float(sal)}
OriginalL'auteur naresh