Kata pengantar
Ada atribut ParameTerType di elemen Pilih, Sisipkan, Perbarui, dan Hapus dalam File Mapper MyBatis, yang digunakan untuk jenis parameter yang sesuai yang diterima dengan metode antarmuka Mapper. Artikel ini terutama memperkenalkan konten yang relevan tentang tipe parameter parameter di mybatis. Ini dibagikan untuk referensi dan pembelajaran Anda. Saya tidak akan mengatakan banyak hal di bawah. Mari kita lihat perkenalan terperinci bersama -sama.
1. Jenis MyBatis ParameterType dibagi menjadi dua jenis
1. 1. Jenis data dasar: int, string, panjang, tanggal;
1. 2. Jenis Data Kompleks: Kelas dan Peta
2. Cara mendapatkan nilai dalam parameter:
2.1 Jenis Data Dasar: #{Parameter} Dapatkan Nilai dalam Parameter
2.2 Jenis Data Kompleks: #{Name Atribut}, #{Key} di peta
3. Kasus:
3.1 Kasus Jenis Data Dasar
<sql id = "base_column_list"> id, car_dept_name, car_maker_name, ikon, car_maker_py, hot_type < /sql> <pilih id = "selectByprimarykey" hasil dari pepermap = "castedMap" castedMap "parametiLype =" java.lang. common_car_make where id = #{id, jdbctype = BigInt} </ pilih>3.2 Jenis jenis peta yang kompleks
<pilih id = "queryCarmakerList" resultMap = "baseeresultMap" parameTerType = "java.util.map"> pilih <incerted = "base_column_list" /> dari common_car_make cm di mana 1 = 1 <if test = "id! = null"> dan cm.id = #{ifeCe = ife = if test = "Id! = null"> dan cm.id = #{{if test = "if test =" test = "cardeptname! = null"> dan cm.car_dept_name = #{cardeptname, jdbctype = varchar} </if> <if test = "carmakername! = null"> dan cm.car_maker_name = #{carmakerName, jdbctype = varchar_maker_name = #{carmakerName, jdbctype = varchar_maker_name = #"{carmakerName, jdbctype =" ifer = "ifakername, jdbctype =" ifer = "ifakername, jdbctype =" ifer = cm.hot_type = #{hottype, jdbctype = BigInt} </if> order oleh cm.id </select>3.3 Jenis Jenis Kompleks
<update id = "updateByPrimaryKeyselective" parameTerType = "com.epeit.api.model.CommonCarmake"> UPDATE COMMON_CAR_MAKE <TORD> <if test = "cardeptname! = null"> car_dept_name = #{cardeptname, jdbctype = varchar},/</ifer = #{cardeptname, jdbctype = varchar}, </null! car_maker_name = #{carmakerName, jdbctype = varchar}, </if> <if test = "ikon! = null"> ikon = #{ikon, jdbctype = varchar}, </if> <if test = "carmakerpy! = null"> car_maker_maker = #{if> {ifer = "carmaker! test = "hottype! = null"> hot_type = #{hottype, jdbctype = BigInt}, </if> </set> where id = #{id, jdbctype = bigint} </d untuk update>3.4 Jenis Kompleks-Kasing di mana array disertakan dalam peta
<select id="selectProOrderByOrderId" resultType="com.epeit.api.model.ProOrder" parameterType="java.util.HashMap" > select sum(pro_order_num)proOrderNum,product_id productId,promotion_id promotionId from pro_order where 1=1 <if test="orderIds != null"> and <foreach collection="orderIds" item = "item" open = "order_id in (" sparator = "," close = ")"> #{item, jdbctype = BigInt} </tandingeach> </if> grup dengan product_id, promotion_id </pilih>4. Anotasi @param: Ini cukup istimewa, tetapi mudah dimengerti
Kasus 1:
@Param(value="startdate") String startDate : annotate satu properti; ini mirip dengan mengubah nama parameter sekali
Misalnya, konfigurasikan pernyataan SQL (lapisan DAO) di *mapper.xml memanggil mybatis
Daftar <String> selectIdbySortTime (@param (value = "startDate") string startDate);
Maka pernyataan dalam XML perlu dicocokkan dengan konten di braket @param: parameternya adalah startDate
<pilih id = "selectidbysorttime" resultType = "java.lang.string" parameterType = "java.lang.string"> Pilih ajlcid yang berbeda dari ebd_fh_ajlc di mana sorttime> = TO_DATE (#{startDate, jdbctype = varchar}, yyy-created = {startDate, jdbctype = varchar}, yyy-create = yy-creveate = yy-creasted / createpeed_deate = createped {jdbctype = varchar}, yyy-ceate = yy-created = yyy-createed = yyy-createpeed_ceate = dailate / dreaded ebctypeed = varchar}, yyy-creade--yy-createpeed = (Pilih CompanyName yang berbeda dari EBD_FH_COMPANY_LIST di mana isUpdate = '0') </pilih> Kasus 2:
Anotasi javabean,@param (value = "datevo") datevo datevo; Anda perlu memperhatikan parameter tertulis
Daftar <String> selectIds (@param (value = "datevo") datevo datevo);
File pemetaan yang sesuai
<pilih id = "selectIds" resultType = "java.lang.string" parameterType = "com.api.entity.datevo"> Pilih ajlcid yang berbeda dari ebd_fh_ajlc di mana sorttime> = to_date (# {datevo.startdate, jdbctype = varchar {# {{datevo.startdate, jdbctype = varchar = {{{dateVo.) KeyValue di (pilih CompanyName yang berbeda dari EBD_FH_COMPANY_LIST di mana isUpdate = '0') </pilih>Adapun kelebihan dan kekurangan, itu tergantung pada preferensi pribadi Anda
Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini memiliki nilai referensi tertentu untuk studi atau pekerjaan semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.