- 在学习mybatis的时候,想用自定义的typeHandler,结果就出现了下面的异常
Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'mapper' in 'class bean.User' at org.apache.ibatis.reflection.Reflector.getGetInvoker(Reflector.java:419) at org.apache.ibatis.reflection.MetaClass.getGetInvoker(MetaClass.java:164) at org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty(BeanWrapper.java:162) at org.apache.ibatis.reflection.wrapper.BeanWrapper.get(BeanWrapper.java:49) at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:122) at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextMap.get(DynamicContext.java:94) at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:108)
但是和我的不太一样。我的原因是因为
<insert id="insertUser" parameterType="bean.User" useGeneratedKeys="true" keyProperty="id"> insert into user (name, age, regtime) value (#{name},#{age}, ${regTime,typeHandler=mapper.MyDateTypeHandler}); </insert>
不知道你到问题没有应该用“#”,但是我用了“$”,所以mybatis把mapper当做了Bean里面的属性
-
mybatis插入数据时返回数据。
<insert id="insertUser" parameterType="bean.User" useGeneratedKeys="true" keyProperty="id"> insert into user (name, age, regtime) value (#{name},#{age}, ${regTime,typeHandler=mapper.MyDateTypeHandler}); </insert>
将userGeneratedKeys和keyProperty属性设置好,就行了。mybatis会自动填充到你传进去的User对象的id。不要用
int id = mapper.insertUser(user);
这样是不能获取自动增长的id的,获取的是影响的行数。
Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named '
最新推荐文章于 2024-07-21 15:20:54 发布