Printemps JdbcTemplate: comment limiter les lignes sélectionnées?
Je suis en utilisant le Printemps JdbcTemplate
interface pour récupérer des données à partir d'un MS SqlServer DB.
Dans la documentation, je vois là est la setMaxRows()
méthode pour définir une limite pour toutes les requêtes, mais que si je veux limiter uniquement à une sélection?
Est-il un moyen de définir une limite pour un invoquée requête dans un "configurable"?
Que penser de l'utilisation de votre propre PreparedStatementCreator de ces déclarations et de l'Instruction d'appel.setMaxRows() lors de la création de la requête préparée?
ça me semble être une excellente idée, pouvez-vous me donner quelques exemple d'utilisation de
Je suis nouveau sur le Printemps moi-même, sinon j'aurais ajouté une réponse avec un exemple 🙂
ok, merci!!!!
Avec le Printemps de démarrage, vous pouvez utiliser le dessous de propriété en application.propriétés de printemps.jdbc.de modèle.max-rows=100
ça me semble être une excellente idée, pouvez-vous me donner quelques exemple d'utilisation de
PreparedStatementCreator
, je suis nouveau sur le Printemps...Je suis nouveau sur le Printemps moi-même, sinon j'aurais ajouté une réponse avec un exemple 🙂
ok, merci!!!!
Avec le Printemps de démarrage, vous pouvez utiliser le dessous de propriété en application.propriétés de printemps.jdbc.de modèle.max-rows=100
OriginalL'auteur davioooh | 2012-03-30
Vous devez vous connecter pour publier un commentaire.
Limiter le nombre de résultats d'une requête spécifique peut être fait en mettant la limite directement dans la requête. Consultez votre DB documentation du fournisseur pour voir si elle prend en charge par exemple
LIMIT
.Exemple sur MySQL:
SELECT * FROM EMPLOYEE LIMIT 10
SELECT * FROM EMPLOYEE WHERE ROWNUM < 10
dans le cas d'Oracle.oui, je sais, mais dans mon implémentation de la méthode, la limite est facultatif, donc, si vous avez à la limite de la requête directement à l'aide de SQL, vous devez écrire deux requêtes différentes...
Dans de tels cas, j'ai l'habitude de construire la chaîne de requête dans mon code de la manipulation de la "limit et no-limit" cas différemment, et puis l'exécuter. Je ne sais pas une meilleure solution, curieux de savoir si quelqu'un n'.. 🙂
ok, je vous remercie.
certainement Burusothman sultion est mieux indépendant de la base de données du fournisseur. Si quelqu'un l'utiliser quelques vendeurs de requête de personnalisation sera fou.
OriginalL'auteur jabal
Certains SQL base de langages de requêtes(derby) ne prend pas en charge
LIMIT
mot-clé. Si vous ne pouvez pas utiliser de LIMITE de requête directement. À l'aide de Spring JDBC Modèle, nous pouvons définir le nombre maximal de lignes nécessaires, dans le cadresetMaxRows(Integer intvalue)
OriginalL'auteur Burusothman
Vous pouvez également utilisateur de limiter mot clé en requête. voir ci-dessous requête
si dans votre application limit et offset peut être attribuer dynamiquement par l'utilisateur de l'utiliser en dessous de requête
Ici
FileShare
est un nom de table etSharedFilesRowMapper
est rowMapper qui liste les lignes de la table.OriginalL'auteur Musaddique
setFetchSize
ousetMaxRows
n'est pas le même queLIMIT
dans la base de données SQL. Réglagefetch size
dansJdbcTemplate
signifie que le jeu de résultats de votre requête sera récupérée en morceaux de la taille définie avecsetFetchSize
. Il s'agit de contrôler l'utilisation de la mémoire et le nombre d'appels de base de données.OriginalL'auteur Asgar