在xxMapper.xml中<select>、<delete>等标签的parameterType可以控制参数类型
SqlSession的selectList()和selectOne()的第二个参数,selectMap()的第三个参数,都可以设置方法的参数
实例:People p = session.selectOne("a,b.selAll",1)
Mapper.xml通过parameterType获取参数内容。
<select id="selById" parameterType="int" resultType="com.bjsxt.Peopele">
select * from people where id=#{0} (或#{param1获取第一个参数)
</select>
#{}和${}的区别?
#{}获取参数的内容,支持索引获取,param1获取指定位置参数并使用SQL 的?占位符
${}字符串拼接不适用?,默认找${内容}中,内容的set和get方法,如果写数字,就是一个数字 id=${0}认为是普通数字
通过#{}获取参数内容:使用索引,从0开始,#{0}表示第一个参数
如果参数是对象,使用#{属性名}
如果参数是map,写成#{key}
People peo = new People();
peo.setId();
People p = session.selectOne("a.b.selById",peo);
<select id="selById" resultType="com..People" parameterType="com..People">
select * from people where id=#{id}
</select>