有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否可以使用实例pojo与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;
    }
}

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


共 (1) 个答案

  1. # 1 楼答案

    有点,但您必须访问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数组

    此外,您还可以阅读更多文档here