MyBatis 问题

nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named  in 'class java.lang.String'


Mapper.xml是这样的

<select id="findPlanByPersonId" resultMap="BaseResultMap" parameterType="java.lang.String">
  	select * from t_plan
  	<where>
  		<if test="personId != null">personId = #{personId}</if>
  	</where> 
  </select>

Mapper类中的方法是

Plan findPlanByPersonId(String personId);

就会报上述Exception


解决办法

1.改方法

Plan findPlanByPersonId(@Param(value="personId")String personId);

或者2改xml

 <select id="findPlanByPersonId1" resultMap="BaseResultMap" parameterType="java.lang.String">
  	select * from t_plan
  	<where>
  		<if test="_parameter != null">personId = #{_parameter}</if>
  	</where> 
  </select>




还有一种方式

只改xml(去掉条件)和Mybatis Generator生成的一样

<select id="findPlanByPersonId" resultMap="BaseResultMap" parameterType="java.lang.String">
  	select * from t_plan
  	where person_id = #{personId,jdbcType=varchar}
  </select>

#{personId,jdbcType=varchar}是重点


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值