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条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?