Préface
Il y a un attribut ParameterType dans les éléments de sélection, d'insertion, de mise à jour et de supprimer dans le fichier de mappeur MyBatis, qui est utilisé pour les types de paramètres correspondants acceptés par la méthode d'interface du mappeur. Cet article présente principalement le contenu pertinent sur le type de paramètre de paramètre dans MyBatis. Il est partagé pour votre référence et votre apprentissage. Je ne dirai pas beaucoup en dessous. Jetons un coup d'œil à l'introduction détaillée ensemble.
1. Le type de paramètre de mybatis est divisé en deux types
1. 1. Types de données de base: int, chaîne, long, date;
1. 2. Types de données complexes: classes et cartes
2. Comment obtenir la valeur dans le paramètre:
2.1 Type de données de base: # {Paramètre} Obtenez la valeur dans le paramètre
2.2 Type de données complexes: # {nom d'attribut}, # {key} dans la carte
3. Cas:
3.1 Cas de type de données de base
<sql id = "base_column_list"> id, car_dept_name, car_maker_name, icon, car_maker_py, hot_type </ql> <select id = "selectByprimaryKey" resultmap = "BasereSultMap" paramètre "java.lang"> SELECT <include refid = "base_column_liver" Common_Car_make où id = # {id, jdbcType = bigInt} </lect>3.2 Type de map de type complexe
<select id = "queryCarmakerList" resultMap = "BaseresultMap" ParameterType = "java.util.map"> SELECT <inclure refid = "base_column_list" /> from commun_car_make cm où 1 = 1 <if test = "id! = null"> et cm test = "cardeptName! = null"> et cm.car_dept_name = # {cardeptName, jdbcType = varchar} </ if> <if test = "carmakername! = null"> et cm.car_maker_name = # {carmakername, jdbcType = varchar} </f> cm.hot_type = # {hottype, jdbcType = bigInt} </ if> commande par cm.id </lect>3.3 Types de types complexes
<update id = "UpdateByPrimaryKeySelective" ParameterType = "com.epeit.api.model.commonCarmake"> Update Common_Car_Make <Set> <if test = "CardeptName! = Null"> Car_dept_name = # {CardeptName, JDBCTYPE = Varchar}, </ If> car_maker_name = # {carmakername, jdbcType = varchar}, </ if> <if test = "icon! = null"> icon = # {icon, jdbcType = varchar}, </ if> <if test = "carmakerpy! = null"> car_maker_py = # {carmakerpy, jdbctype = varchar},, # {# {carmakerpy, JDBCTYPE = VARCHER_PY = # {# {Carmakerpy, JDBCTYPE = VARLACH </ if> <if test = "hottype! = null"> hot_type = # {hottype, jdbcType = bigInt}, </ if> </set> où id = # {id, jdbcType = bigInt} </ update>3.4 Type complexe - Le cas où les tableaux sont inclus dans la carte
<select id = "selectProOrderByOrderId" resultType = "com.epeit.api.model.proorder" ParameterType = "java.util.hashmap"> Sélectionnez Sum (pro_order_num) ProOrdernum, Product_id productid, promotion_id promotionId à partir de pro_orde item = "item" open = "order_id dans (" séparateur = "," close = ")"> # {item, jdbcType = bigInt} </foreach> </ if> by product_id, promotion_id </lect>4. Annotation @param: c'est assez spécial, mais c'est facile à comprendre
Cas 1:
@Param(value="startdate") String startDate : annotez une seule propriété; Ceci est similaire au renomment du paramètre une fois
Par exemple, configurez les instructions SQL (couche DAO) dans * MAPPER.XML CALLEM
List <string> selectIdBysortTime (@param (value = "startDate") startDate startDate);
Ensuite, l'instruction dans XML doit être adaptée au contenu dans les supports @param: le paramètre est startdate
<select id = "selectIdBysortTime" resultType = "java.lang.string" paramètreType = "java.lang.string"> Sélectionnez Ajlcid distinct dans ebd_fh_ajlc où triChor KeyValue dans (sélectionnez une entreprise distincte sur EBD_FH_COMPANY_LIST WHERE ISUPDATE = '0') </lect>
Cas 2:
Annotation javabean, @ param (value = "datevo") datevo datevo; Vous devez faire attention aux paramètres écrits
List <string> selectIdS (@param (value = "datevo") dateVo datevo);
Fichier de mappage correspondant
<select id = "selectIdS" resultType = "java.lang.string" ParameterType = "com.api.entity.datevo"> Sélectionnez Ajlcid distinct dans eBD_FH_AJLC WHERE SORTIME> = TO_DATE (# {datevo.startdate, jdbcType = Varchar}, 'yyyy-mmd') et Created_Date = Updated_Date et KeyValue dans (sélectionnez une entreprise distincte sur EBD_FH_COMPANY_LIST WHERE ISUPDATE = '0') </lect>Quant aux avantages et aux inconvénients, cela dépend de vos préférences personnelles
Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article a une certaine valeur de référence pour l'étude ou le travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien à wulin.com.