- 在XXXMapper.xml中
<select><delete>
等标签的parameterType属性可以控制参数类型。 - sqlSession的selectList()和selectOne()的第二个参数,selectMap()的第三个参数都表示方法的参数。
例如:
Flower flower = session.selectOne("com.ouc.mapper.FlowerMapper.selById",1);
- 在XXXMapper.xml中可以通过#{}获取参数
(1)parameterType控制参数类型
(2)#{}获取参数内容,使用索引,从0开始,#{0}表示第一个参数,也可以使用#{param1}获取第一个参数。
(3)如果参数是对象,#{属性名}
(4)如果参数是map, #{key}
<select id="selById" parameterType="int" resultType="com.ouc.pojo.Flower">
select * from flower where id=#{0}
</select>
#{}
和${}
的区别
(1)#{}
获取参数内容,支持索引获取和param1两种获取方式,获取指定位置参数,并且SQL使用?占位符。
(2)${}
字符串拼接不能使用?,默认找${内容},内容的set/get方法,如果写数字,就是一个数字,不会按索引获取。