Passer plusieurs arguments dans un SELECT sans l'aide d'un objet complexe
Je suis en train de passer dans startSequenceId
, stopSequenceId
, orderNumber
dans le SQL à la carte, cependant, je ne souhaite pas utiliser un typée objet, c'est à dire parameterType="com.abc.Order"
, puis-je le faire?
<select id="getSequenceIdByOrderNumber" parameterType="?" resultType="int">
select *
from log
where seq_id
between #{startSequenceId} and #{stopSequenceId}
and order_no = #{orderNumber}
and rownum = 1
</select>
OriginalL'auteur Oh Chin Boon | 2012-02-16
Vous devez vous connecter pour publier un commentaire.
Chin@je vais poster ce que j'avais tapé de toute façon avec un exemple simple, si vous avez trouvé ce que vous cherchez. Mon exemple à l'aide de iBatis 2.3.4
Espère que cette aide.
OriginalL'auteur MalsR
Vous pouvez utiliser le construit en parameterType 'map' eg
OriginalL'auteur johnm
Dans MyBatis 3, vous pouvez utiliser
@Param
annotation dans votre mappeur de classe(de l'interface) méthode:Ensuite, vous pouvez utiliser
#{seqId}
,#{orderId}
dans le SQL sans l'aide de parameterType attribut.OriginalL'auteur jAnA
cant commentaire,
ce lien est rompu, actuellement correcte est https://github.com/mybatis/mybatis-3/wiki/FAQ#how-do-i-use-multiple-parameters-in-a-mapper
copier + coller à partir de ce wiki
tl;dr
lorsque vous déclarez une méthode dans votre interface au lieu de la norme java structure
utilisation (ajouter @Param)
OriginalL'auteur Alexander
Trouvé la réponse, merci.
http://code.google.com/p/mybatis/wiki/HowToSelectMultipleParams
Salut Praditha, malheureusement, une fois que la page n'existe pas plus après un an. Veuillez voir MalsR réponse, c'est pertinent.
éviter les réponses avec juste un lien
OriginalL'auteur Oh Chin Boon