weixin_38221608
buyax
采纳率53.3%
2017-05-24 01:24 阅读 1.8k

mybatis传入list出现报错,请教下大神~看下哪有问题

15
 这是sql,
 <insert id="batchInsertGroupUser" parameterType="cn.com.landray.kk.server.domain.KKGroupUser">
      INSERT INTO kk_group_user(group_id, user_id, user_count, state, last_update) 
      VALUES 
      <foreach collection="list" item="item" index="index" separator="," > 
          (#{item.groupId}, #{item.userId}, #{item.userCount}, #{item.state}, #{item.lastUpdate})
      </foreach>
 </insert>


 这是报错

 org.apache.ibatis.exceptions.PersistenceException: 

Error updating database. Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'list' in 'class cn.com.landray.kk.server.domain.KKGroupUser'

Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'list' in 'class cn.com.landray.kk.server.domain.KKGroupUser'

at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:172)
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:157)
at cn.com.landray.kk.server.dao.base.KKBaseDaoImpl.insert(KKBaseDaoImpl.java:314)
at cn.com.landray.kk.server.dao.impl.KKGroupUserDaoImpl.batchSaveGroupUser(KKGroupUserDaoImpl.java:41)
at cn.com.landray.kk.server.dao.impl.KKGroupUserDaoImplTest.testBatchSaveGroupUser(KKGroupUserDaoImplTest.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    wlq199101 wlq199101 2017-05-24 01:51
     public void testInsertList() throws IOException{
                PageData pd = new PageData();
                List<Video> list= new ArrayList<>();
                Video video = new Video();
                video.setTitle("title1");
                video.setPath("path1");
                list.add(video);
                video = new Video();
                video.setTitle("title2");
                video.setPath("path2");
                list.add(video);
                video = new Video();
                video.setTitle("title3");
                video.setPath("path3");
                list.add(video);
                pd.put("list", list);
                videoService.insertVideoList(pd);
    
            }
    
     <insert id="insertVideoList" parameterType="pd">
            INSERT INTO nuansai_video (title,path ) VALUES
             <foreach collection="list" item="item" index="index" separator="," > 
              (#{item.title}, #{item.path})
          </foreach>
        </insert>
    

    图片说明

    经过测试不是sql报错
    pd = map
    map里放入了 list =【video1,video2,video3】

    点赞 评论 复制链接分享
  • shshjj 舍得心境 2017-05-24 02:05

    把cn.com.landray.kk.server.domain.KKGroupUser 改成 java.util.list

    点赞 1 评论 复制链接分享
  • wantnrun RayeWang 2017-05-24 01:43

    你的KKGroupUser类中没有list这个属性或者没有对应的get方法

    点赞 评论 复制链接分享
  • a314066646 FEN_TA 2017-05-24 01:46

    insert id="batchInsertGroupUser" parameterType="cn.com.landray.kk.server.domain.KKGroupUser"

    参数类型应该是LIST 你这里的是USER对象类

    点赞 评论 复制链接分享

相关推荐