Mybatis传递参数的三种方式

第一种:

Dao层使用@Param注解的方法

VersionBox getVersionByVersionNumAndVersionType(@Param("versionNum") String versionNum, @Param("versionType") String versionType);

对应的Mapper.xml

 <sql id="Base_Column_List" >
UUID, VERSION_NUM, VERSION_TYPE, VARSION_DESC, CREATE_TIME, CREATE_BY, UPDATE_TIME,
UPDATE_BY
</sql> <select id="getVersionByVersionNumAndVersionType" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from VERSION_BOX
where VERSION_NUM = #{versionNum,jdbcType=VARCHAR}
and VERSION_TYPE = #{versionType,jdbcType=VARCHAR}
</select>

第二种:

Dao层采用Map传多参数的方法

int selectBeaconTotalCount(Map paramMap);
 

对应的Mapper.xml

<resultMap id="BaseResultMap" type="com.joysuch.facade.device.Ibeacon" >
<id column="UUID" property="uuid" jdbcType="VARCHAR" />
<result column="USER_ID" property="userId" jdbcType="VARCHAR" />
<result column="DEVICE_MAC" property="deviceMac" jdbcType="VARCHAR" />
<result column="DEVICE_ID" property="deviceId" jdbcType="VARCHAR" />
<result column="DEVICE_UUID" property="deviceUuid" jdbcType="VARCHAR" />
<result column="DEVICE_TYPE" property="deviceType" jdbcType="VARCHAR" />
<result column="MAJOR" property="major" jdbcType="INTEGER" />
<result column="MINOR" property="minor" jdbcType="INTEGER" />
...

<result column="NEAR_RSSI" property="nearRssi" jdbcType="INTEGER" />
</resultMap>

 <select id="selectBeaconTotalCount" resultType="int" parameterType="java.util.Map" >
select COUNT(UUID)
from IBEACON
where BUILDING_ID = #{buildingId,jdbcType=VARCHAR} and DEVICE_TYPE = 'ibeacon'
<if test="deviceMac != null and deviceMac != ''" >
and DEVICE_MAC = #{deviceMac,jdbcType=VARCHAR}
</if>
<if test="major != null" >
and MAJOR = #{major,jdbcType=INTEGER}
</if>
<if test="minor != null" >
and MINOR = #{minor,jdbcType=INTEGER}
</if>
</select>

第三种:

Dao层根据参数位置下标的方法

VersionBox getVersionByVersionNumAndVersionType(String versionNum, String versionType);

  

对应的Mapper.xml

 <select id="getVersionByVersionNumAndVersionType" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from VERSION_BOX
where VERSION_NUM = #{0} 
and VERSION_TYPE = #{1} 
</select>
上一篇:事件和winform的学习


下一篇:Jmeter 跨线程组传递参数 之两种方法