Vorwort
Es gibt ein ParameterType -Attribut in der Auswahl, Einfügen, Aktualisierung und Löschen von Elementen in der MyBatis -Mapper -Datei, die für die entsprechenden Parametertypen verwendet wird, die von der Mapper -Schnittstellenmethode akzeptiert werden. In diesem Artikel wird hauptsächlich den relevanten Inhalt zum Parameterparametertyp in MyBatis eingeführt. Es wird für Ihre Referenz und Ihr Lernen geteilt. Ich werde unten nicht viel sagen. Schauen wir uns die detaillierte Einführung gemeinsam an.
1. Die Parametertyp -Art von MyBatis ist in zwei Typen unterteilt
1. 1. Grundlegende Datentypen: int, String, lang, Datum;
1. 2. Komplexe Datentypen: Klassen und Karten
2. So erhalten Sie den Wert im Parameter:
2.1 Basis -Datentyp: #{Parameter} Rufen Sie den Wert im Parameter ab
2.2 komplexer Datentyp: #{Attributname}, #{Key} in der Karte
3. Fall:
3.1 Fälle von grundlegenden Datentypen
<sql id="Base_Column_List" > id, car_dept_name, car_maker_name, icon,car_maker_py,hot_type </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" > select <include refid="Base_Column_List" /> from common_car_make wobei id = #{id, jdbctype = bigint} </select>3.2 komplexer Typ-Map-Typ
<select id = "queryCarmakerlist" resultMap = "baseresultmap" parameterType = "java.util.map"> select <include refID = "base_column_list" /> von Common_car_Make cm wobei 1 = 1 <if test = "id! test = "cardeptname! cm.hot_type = #{hottype, jdbctype = bigint} </if> bestellen nach cm.id </select>3.3 Komplexe Typenklassentypen
<update id = "updateByprimaryKeysselective" parameterType = "com.epeit.api.model.CommonCarmake"> update Common_car_Make <set> <if test = "cardeptname! CAR_MAKER_NAME = #{carmakername, jdbctype = varchar}, </if test = "icon! #{carmakerpy, jdbctype = varchar}, </if> <if test = "hottype!3.4 Komplexer Typ-Der Fall, in dem Arrays in der Karte enthalten sind
<select id = "selectProorderByorderID" resultType = "com.epeit.api.model.Proorder" ParameterType = "java.util.hashMap"> Summe ausgewählte item = "item" open = "order_id in (" separator = "," close = ")"> #{item, jdbctype = bigint} </foreach> </if> gruppe by product_id, Promotion_id </select>4. Annotation @param: Das ist etwas ganz Besonderes, aber es ist leicht zu verstehen
Fall 1:
@Param(value="startdate") String startDate : Annotate eine einzelne Eigenschaft; Dies ähnelt dem einmaligen Umbenennen des Parameters
Konfigurieren Sie beispielsweise SQL -Anweisungen (DAO -Schicht) in *mapper.xml aufrufen mybatis
List <String> SelectIdBysortTime (@param (value = "startDate") String startDate);
Dann muss die Anweisung in XML mit dem Inhalt in @Param -Klammern übereinstimmen: Der Parameter ist startdate
<select id="selectIdBySortTime" resultType="java.lang.String" parameterType="java.lang.String"> select distinct ajlcid from ebd_fh_ajlc where sorttime >= to_date(#{startdate,jdbcType=VARCHAR},'YYYY-MM-DD') and created_date=updated_date and KeyValue in (Wählen Sie einen bestimmten Unternehmensnamen aus EBD_FH_COMPANY_LIST WO ISUPDATE = '0') </select> Fall 2:
Annotation Javabean,@param (value = "DateVo") DateVo DateVo; Sie müssen auf die schriftlichen Parameter achten
List <String> SelectIDS (@param (value = "DateVo") DateVo DateVo);
Entsprechende Zuordnungsdatei
<select id = "selectIds" resultType = "java.lang.String" parameterType = "com.api.Entity.datevo"> Auswahl eindeutig AJLCID von ebd_fh_ajlc wobei Sorttime> = to_date (# {dateVo.startdate, jdbctype = varchar}, und yyy-mm, jdbctype = varchar}, und yyy-mm, jdbctype = varchar}, und 'yyy-mm, jdbction = varchar}}, und' yyy-mm, jdbction = varchar}}, und erstellt_date = updated_date und keyValue in (Wählen Sie einen bestimmten Unternehmensnamen aus ebd_fh_company_list WHERE ISUPDATE = '0') </select>Was die Vor- und Nachteile betrifft, hängt dies von Ihren persönlichen Vorlieben ab
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.