Mybatis伝達パラメータの3つの方法

5018 ワード

1つ目:
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>

2つ目:
Dao層はMapマルチパラメータの方法を採用する
int selectBeaconTotalCount(Map paramMap);

 
対応するMapper.xml
...
 

<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>

3つ目:
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>

 
転載先:https://www.cnblogs.com/ningJJ/p/7735679.html