在MyBatis中,我用Map<String,Object> params 作为参数,params.put("carId","CL-05410"); 但是到MyBatis中解析不到这个值,相关的日志出下:
DEBUG - ==> Preparing: SELECT count(c.car_id) FROM t_car_info c WHERE '1' = '1' and c.car_id = ?
DEBUG - ==> Parameters: [Ljava.lang.String;@1f0d7b0(String[])
DEBUG - <== Total: 1
我的配置文件内容如下:
<select id="getCarInfoById" resultMap="BaseResultMap" parameterType="java.util.Map" >
SELECT
<include refid="Base_Column_List" />
FROM
t_car_info c
WHERE '1' = '1'
<if test="carId != null" >
and c.car_id = #{carId}
</if>
</select>
各位朋友帮我看看是什么原因,我项目里没有mybatis的主配置文件Configuration.xml,是不是因为没有这个主配置文件导致的呢?
第1个回答 2014-04-21
应该不是map的问题吧,你先把WHERE '1' = '1' 改成 where 1=1,试试呢,不行的话再贴错误代码
第2个回答 2015-09-30
SELECT count(c.car_id) FROM t_car_info c
改成
SELECT count(c.car_id) as carId FROM t_car_info c
改成
SELECT count(c.car_id) as carId FROM t_car_info c