使用ibatis的iterate标签实现批量插入

ibatis批量插入(使用iterate标签)

1、要注意版本是否支持foreach,我使用的版本就不支持。如果不支持,会报错,叫你必须指定foreach元素类型。

2、使用iterate的List时,即 parameterClass="java.util.List",总是报错:Excepted java.util.List, but get User.一直没找到是哪配置错误。。。。。?

3、使用iterate的Map时的注意事项

对象User具有属性 Id ,name,age,sex
UserDao.java public void insertBatch(Map> userMap);
UserDao.xml

    insert into user_table(ID,NAME,AGE,SEX) values

   

       ( #userList[].id:varchar#,

         #userList[].name:varchar#,

        #userList[].age:integer#,

        #userList[].sex:INTEGER#)

   

UserService.java

在使用iterate的map时,注意Map的Key与Property属性对应:

 

Map> userMap=new HashMap>();

List  list=new ArrayList();

list.add(new User("111","zhangsan",22,1));

list.add(new User("222","lisi",23,0));

...

userMap.put("userList",list);

userDao.insertBatch(userMap);

老项目维护,项目框架里是ibatis,所以,只能用ibatis。

 

你可能感兴趣的:(ibatis)