今天犯了一个Mybatis方面的错误,趁热记录一下

直入主题

这是mapper.xml里的部分代码

   <insert id="addUser"parameterType="cn.abalone.po.User">
        insert into mybatis.user(id, name, pwd)
        values (${id}, ${name}, ${pwd});
    </insert>

请注意原本values里面我写的都是${}的形式,注意是$ !
在这之后就报错了
说的是啥呢?
异常他娘的说我insert的列和数据库一致...
我检查了一会,试着用#代替$,结果发现一个结论!

#和$都能作为表达式的开头,但是貌似$不能作为String类型表达式的开头
因为我后来试了一下,如果id是$,name和pwd是#也是可以成功的
因此!
还是SpringData好使

以上

Q.E.D.