buyax 2017-05-24 01:24 采纳率: 53.3%
浏览 1914
已采纳

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

 这是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 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】

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面