上课时候听老师讲说在mybatis中使用map是最方便的选择,今天写代码的时候自己跳进坑里最后终于想起老师说的话爬了上来.
先上最后成功配置的源码:
//代码1
List<User> selectByLikeAccountAndPhoneNumber(Map map);
//代码2
<select id="selectByLikeAccountAndPhoneNumber" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"></include>
from t_user
where account LIKE '%${account}%' and phonenumber LIKE '%${phonenumber}%'
</select>
- 最开始的时候在图一中没有将account,和phoneNumber放到Map中,而是以两个参数的方式传入代码1的selectByLikeAccountAndPhoneNumber()中,代码2的where语句如下
where account LIKE '%${0}%' and phonenumber LIKE '%${1}%'
使用0和1来获取account 和 phoneNumber
当运行的时候发现服务器500,参数绑定失败。后来为了测试 将语句写为
where account LIKE ${0} and phonenumber LIKE ${1}
发现可以成功的运行。但是一旦加上%就会报错。具体原因不详
后来想起老师讲的使用map传参。将代码改掉后完美运行