关于java mybatis 的动态sql问题 大神求解

@RequestMapping(value = "/test", method = RequestMethod.GET)
public void test() {
String zname ="tname";
String val ="'zzzz'";
Map map=new HashMap();
map.put("key",zname);
map.put("val", ""+val+"");

dao.dongtaislq(map);

}
key为 数据酷的字段名,val对应字段名的值

mapper.xml 里面

    <insert id="dongtaislq"  parameterType="java.util.HashMap" statementType="STATEMENT"    >
<![CDATA[  insert into t_test (${key})  values (${val})  ]]>  
</insert>

但是 这样 会报错!
org.apache.ibatis.binding.BindingException: Mapper method 'com.hoomsun.mybatis.dao.CostMapperDao.dongtaislq' has an unsupported return type: class java.lang.String

有dao接口类吗?dao接口类中对应的方法是不是写了返回值,public void dongtaislq(Map map); 望采纳


insert into t_test(#{key}) values(#{val})

这样试下

明显的类型冲突了嘛。

我想问下楼主,你的mybatis是用动态代理做的还是传统的?这上面错误写的很清楚,不支持返回类型String,如果你用的动态代理,返回值应该是void。你看下你是不是写错了。

我觉得楼主最好把东西贴全点,dao,spring配置文件。东西太少。不好确定错误。

mapper.xml 里面


<![CDATA[ insert into t_test (${key}) values (${val}) ]]> <!--"$",改成“#”-->