是否可以使用实例化的pojo插入JDBC模板?

时间:2014-06-04 16:53:55

标签: java spring spring-jdbc

Spring有一个BeanPropertyRowMapper从select中抽取SQL并映射到POJO对象,而不必创建自定义行映射器。我希望同样的但是插入声明。但是我找不到同等的东西。

public boolean addRenewalQuote(Quote quote) {

    String sql = "INSERT INTO Customers (internal_order_number, b_email, s_email, b_firstname) VALUES (?, ?, ?, ?);";

    if(getTemplate().update(sql, quote) > 0) {
        return true;
    }else {
        return false;
    }
}

引号字符串名称已与DB中的列匹配。实际的插入非常大,我希望有一种比单独获取每个引用getter并将其传递给更新方法更快的方法。

1 个答案:

答案 0 :(得分:0)

有点,但您必须访问pojo的成员变量,如下所示:

Object[] args = new Object[] {quote.getOrderNumber(), quote.getBEmail(), quote.getSEmail(), quote.getFirstName()};
int[] types = new int[] {Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR};
getTemplate().update(sql, args, types};

不要忘记相应地更改args数组和类型数组。

另外,您可以在文档here中阅读更多内容。