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



Spring有BeanPropertyRowMapper从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单独传递给更新方法。

有点像,但是您必须像这样访问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数组和types数组。

另外,您可以在这里阅读更多文档

最新更新