我创建了一个Insert对象,如下所示:
Insert insert = QueryBuilder.insertInto("demo", "users");
insert.value("name", name);
insert.value("sport", "test");
insert.value("years", 2);
insert.value("vegetarian", true);
在我的代码中的其他地方,我需要获取与此INSERT对象关联的名称和值的列表。当我调试代码时,我可以看到两个"值"和"名字"包含我需要的信息的ArrayLists,但它们是私有的,我无法访问它们。
虽然insert.getObject(0);
从值ArrayList获取对象,但我无法将值映射到列名。此外,insert.getValues(ProtocolVersion.V4, CodecRegistry.DEFAULT_INSTANCE);
似乎序列化对象并将它们放入ByteBuffer中,这是不可取的。
答案 0 :(得分:1)
我建议使用PreparedStatement& BoundStatement代替简单Insert
。首先,如果要插入大量数据,可以获得更好的性能。第二 - 您将能够获得在预准备语句中定义的变量列表以及相关值