mybatis 传递参数的方式主要有三种:
1.多个参数的传递方式
GoodMapper.java:
public Good selectGood(String id, String name);
GoodMapper.xml :
<select id="selectGood" resultMap="GoodMap">
select * from good where id = #{0} and name=#{1}
</select>
注: #{0} 代表的是第一个参数,#{1} 代表的是第二个参数,以此类推
2. 固定参数的传递方式
形式如:
GoodMapper.java:
public Good selectGood(@param("id")String id,@param("name")String name);
GoodMapper.xml :
<select id="selectGood" resultMap="GoodMap">
select * from good where id = #{id} and name=#{name}
</select>
注:此种方式对于参数来说就比较直观
3. map 方式:
<select id="findpid" parameterType="java.util.Map" resultMap="DoorZonePo">
select * from tb_door_zone t
start with t.pid = #{pid}
and t.id = #{id}
connect by t.pid = prior t.id
</select>
DoorZonePo doorZone = DoorZonePo.fromJsonString(data);
pid = doorZone.getpId();
id=doorZone.getId();
Map hashmap=new HashMap();
hashmap.put("pid", pid);
hashmap.put("id", id);
List<DoorZonePo> polist = doorZoneQueryDao.findByKey("findpid",hashmap);
注:此种方式以map的形式来传入需要的参数,当参数较多时,使用此种方式比较方便。
在mybatis相关的实际项目开发中使用此种方式比较多。建议使用此种方式。