Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named '

  1. 在学习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里面的属性

  2. 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的,获取的是影响的行数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值