使用Spring NamedParameterJdbcTemplate
将POJO插入 键值表 的最简单方法是什么?没有手动循环通过每个字段并调用插入?
POJO:
class Person {
String firstName;
String lastName;
int age;
...many more fields
}
键值 person_attributes
表:
attribute | value
---------------------
firstName | Bob
lastName | Billy
age | 30
答案 0 :(得分:1)
您可以使用Jackson的ObjectMapper类将POJO转换为键值对
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> personMap = mapper.convertValue(person, Map.class);
然后迭代每个映射条目并插入数据库
或者您可以使用Apache commons beanutils
答案 1 :(得分:0)
BeanPropertySqlParameterSource是最好的方法:
Person person = .....
String sql = "insert into Person (first_Name, Last_Name, age) " +
"values (:firstName, :lastName, :age)";
namedParameterJdbcTemplate.update(sql, new BeanPropertySqlParameterSource(person));