前言
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、容縣網(wǎng)站維護(hù)、網(wǎng)站推廣。
Mybatis的Mapper文件中的select、insert、update、delete元素中有一個(gè)parameterType屬性,用于對(duì)應(yīng)的mapper接口方法接受的參數(shù)類型。本文主要給大家介紹了關(guān)于MyBatis傳入?yún)?shù)parameterType類型的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
1. MyBatis的傳入?yún)?shù)parameterType類型分兩種
1. 1. 基本數(shù)據(jù)類型:int,string,long,Date;
1. 2. 復(fù)雜數(shù)據(jù)類型:類和Map
2. 如何獲取參數(shù)中的值:
2.1 基本數(shù)據(jù)類型:#{參數(shù)} 獲取參數(shù)中的值
2.2 復(fù)雜數(shù)據(jù)類型:#{屬性名} ,map中則是#{key}
3.案例:
3.1 基本數(shù)據(jù)類型案例
<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 where id = #{id,jdbcType=BIGINT} </select>
3.2 復(fù)雜類型--map類型
<select id="queryCarMakerList" resultMap="BaseResultMap" parameterType="java.util.Map"> select <include refid="Base_Column_List" /> from common_car_make cm where 1=1 <if test="id != null"> and cm.id = #{id,jdbcType=DECIMAL} </if> <if test="carDeptName != null"> and cm.car_dept_name = #{carDeptName,jdbcType=VARCHAR} </if> <if test="carMakerName != null"> and cm.car_maker_name = #{carMakerName,jdbcType=VARCHAR} </if> <if test="hotType != null" > and cm.hot_type = #{hotType,jdbcType=BIGINT} </if> ORDER BY cm.id </select>
3.3 復(fù)雜類型--類類型
<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> <if test="carMakerName != null" > 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}, </if> <if test="hotType != null" > hot_type = #{hotType,jdbcType=BIGINT}, </if> </set> where id = #{id,jdbcType=BIGINT} </update>
3.4 復(fù)雜類型--map中包含數(shù)組的情況
<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(" separator="," close=")"> #{item,jdbcType=BIGINT} </foreach> </if> GROUP BY product_id,promotion_id </select>
4.注解@Param:這個(gè)比較特殊,但是很好理解
案例一:
@Param(value="startdate") String startDate
:注解單一屬性;這個(gè)類似于將參數(shù)重命名了一次
如調(diào)用mybatis的*mapper.xml中配置sql語(yǔ)句(DAO層)
List<String> selectIdBySortTime(@Param(value="startdate")String startDate);
則xml中的語(yǔ)句,需要配合@param括號(hào)中的內(nèi)容:參數(shù)為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 (select distinct companyname from ebd_fh_company_list where isupdate='0') </select>
案例二:
注解javaBean,@Param(value="dateVo") DateVo dateVo;則需要注意編寫的參數(shù)
List<String> selectIds(@Param(value="dateVo")DateVo dateVo);
對(duì)應(yīng)的mapping文件
<select id="selectIds" resultType="java.lang.String" parameterType="com.api.entity.DateVo"> select distinct ajlcid from ebd_fh_ajlc where sorttime >= to_date(# {dateVo.startDate,jdbcType=VARCHAR},'YYYY-MM-DD') and created_date=updated_date and keyvalue in (select distinct companyname from ebd_fh_company_list where isupdate='0') </select>
至于要說(shuō)優(yōu)缺點(diǎn)的話,看個(gè)人喜好
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。
標(biāo)題名稱:MyBatis中傳入?yún)?shù)parameterType類型詳解
標(biāo)題URL:http://bm7419.com/article34/igdpse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、ChatGPT、網(wǎng)站排名、品牌網(wǎng)站設(shè)計(jì)、關(guān)鍵詞優(yōu)化、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)