为什么不写parameterType也可以运行成功?写别的类型可不会报错照常执行
command.xml:
<select id="queryCommandListByPage" resultMap="CommandResult" >
select <include refid="columns"/> from command a left join command_content b
on a.id=b.command_id
<where>
<if test="command.name != null and !"".equals(command.name.trim())">
and a.name=#{command.name}
</if>
<if test="command.description != null and !"".equals(command.description.trim())">
and a.description like '%' #{command.description} '%'
</if>
</where>
<if test="flag==1">
group by aid
</if>
order by id
</select>
<sql id="columns">
a.id aid,a.name,a.description,b.content,b.id,b.command_id
</sql>
接口:
/**
* 拦截器实现分页
*/
public List<command> queryCommandListByPage(Map<String,Object>parameter);
我自己测试了一下,用Mapper接口写的不用写类型是可以的,我没看过具体源码,但估计和老师说的差不多,动态代理应该知道你传入了什么参数,如果直接用原始的session.update("namespase.query") 会报如下异常!