1.如果mapper接口里参数是两个普通参数;如下图
List<Recharge> checkrechargerecord(Date paymenttime1,Date sDateTime);
<select id="checkrechargerecord" resultMap="RechargeMap">
select id,
username,
batch,
amount,
xfye,
userid,
status,
paymenttime
from recharge
where paymenttime <= #{0}
and paymenttime >= #{1}
</select>
那么xml里只能用#{0},#{1}的方式,但这样的表达方法,不利于后期的维护。 可以用@Param的注解来修饰参数。xml里看起来也比较方便,否则一堆0,1,2,3的真是难懂。
List<Recharge> checkrechargerecord(@Param("paymenttime1")Date paymenttime1, @Param("sDateTime")Date sDateTime);
<select id="checkrechargerecord" resultMap="RechargeMap">
select id,
username,
batch,
amount,
xfye,
userid,
status,
paymenttime
from recharge
where paymenttime <= #{paymenttime1}
and paymenttime >= #{sDateTime}
</select>
2,如果传入的参数是基本类型参数和实体类对象。
public List<student> selectuser(@Param(value = "page")int pn ,@Param(value = "st")student student);
<select id="selectuser" resultType="com.user.entity.student">
SELECT * FROM student
where sname like concat(concat("%",#{st.sname}),"%")
LIMIT #{page} ,5
</select>
3.如果传入的参数只有一个,基本上不用@Param这个注解了。正常用
public List<student> selectuser(int pn);
<select id="selectuser" resultType="com.user.entity.student">
SELECT * FROM student
<!--where sname like concat(concat("%",#{st.sname}),"%")-->
LIMIT #{page} ,5
</select>