Java 在使用注释的同时,如何在mybatis中使用hashmap将值插入到行中?
如果我有一个对象,比如Java 在使用注释的同时,如何在mybatis中使用hashmap将值插入到行中?,java,mybatis,spring-mybatis,Java,Mybatis,Spring Mybatis,如果我有一个对象,比如 public class Student { private int id; private String name; } .. @Insert("INSERT INTO STUDENT (ID,NAME) VALUES (#{id}, #{name})") @Options(useGeneratedKeys = true, keyProperty = "id") void insert(Student student); 但是如果我有一个值为 studen
public class Student {
private int id;
private String name;
}
..
@Insert("INSERT INTO STUDENT (ID,NAME) VALUES (#{id}, #{name})")
@Options(useGeneratedKeys = true, keyProperty = "id")
void insert(Student student);
但是如果我有一个值为
studentDetailsMap = [{id,10},{name,"smith"}] //represented as key value pairs for understanding
我所拥有的是包含如此多列的大型表,mybatis可以将数据作为每一行的hashmap使用。这样的情况太多了,所以我不想创建太多的pojo类,这就是为什么我试图找到一种直接从hashmap插入mybatis的方法
在映射器XML中创建映射器元素:
插入到${tablename}
${index}
选择
{element}
来自双重
在界面中创建相应的函数。
公共整数insertMICTables@Paramtablename字符串tablename,@Parammapdata-Map-data
准备输入参数:
Map<String, String> mapdata = new HashMap<String, String>();
mapdata.put("columna", "id01");
mapdata.put("columnb", "Hello manager");
this._epMapper.insertMICTables("tablename", mapdata) ;
HashMap的情况也差不多。如果它不起作用,你应该解释你尝试了什么以及它是如何不起作用的。@ave你是对的。这几乎是相同的方式。我的hashmap缺少行所需的一些值,因此导致了错误。很高兴知道问题已得到解决:D