当前位置: 首页 > 知识库问答 >
问题:

如何在JavaSpringboot中使用jdbcTemplate将整数数组插入postgresql表?

凤晨朗
2023-03-14

我在向Postgresql表中插入整数数组时遇到问题,我该怎么做?

String sql = "INSERT INTO draw_result (id, ball_numbers,  balls_with_mega_ball, draw_dates, mega_plier) VALUES(?, ?, ?, ?, ?)";
        Object[] params = {randomNumbers, ballNumbers, ballNumbersMegaBall, drawDates, megaPlier};
        jdbcTemplate.update(sql, params);

其中ball Numbers和ball NumbersMegaBall是ArrayList。用两位数填充。

以下是PostgreSQL表:

CREATE TABLE public.draw_result
(
id bigint NOT NULL,
draw_dates date, 
ball_numbers bigint[],
balls_with_mega_ball bigint[],
mega_plier bigint,
CONSTRAINT draw_result_pkey PRIMARY KEY (id)
)

这是来自Springboot的错误:

出现意外错误(类型=内部服务器错误,状态=500)。PreparedStatementCallback;错误的SQL语法[INSERT in draw_result(id,

共有1个答案

梁俊智
2023-03-14

最近我也遇到了类似的问题。我的解决方案:

public void setDrawResult(BigInteger id, List<BigInteger> ballNumbers, List<BigInteger> ballsWithMegaBall, Date drawDates,BigInteger megaPlier){

    String sql = "INSERT INTO draw_result (id, ball_numbers,  balls_with_mega_ball, draw_dates, mega_plier) VALUES(?, ?, ?, ?, ?)";
    jdbcTemplate.update(sql
            , id
            , createSqlArray(ballNumbers)
            , createSqlArray(ballsWithMegaBall)
            , drawDates
            , megaPlier
    );
}

private java.sql.Array createSqlArray(List<BigInteger> list){
    java.sql.Array intArray = null;
    try {
        intArray = jdbcTemplate.getDataSource().getConnection().createArrayOf("bigint", list.toArray());
    } catch (SQLException ignore) {
    }
    return intArray;
}
 类似资料:
  • 问题内容: 我在将Integer数组插入Postgresql Table时遇到问题,该如何解决? 其中ballNumbers和ballNumbersMegaBall是ArrayList。填充2位数字。 这是PostgreSQL表: 这是Springboot的错误: 发生意外错误(类型=内部服务器错误,状态= 500)。PreparedStatementCallback; 错误的SQL语法[INSE

  • 我有一个mapper方法,定义如下 相应的SQLBuilder方法定义为 每当我调用我的mappermethod时,如下所示 我遇到了以下错误。 错误可能涉及ActivityMapper。insertIntoActivityComment Inline设置参数时出错\n####SQL:insert into activityComment(commenttype、commenttext、comme

  • 问题内容: 我希望能够将bigints数组写入要用于Go历史记录的表中。不幸的是,我不能,当我这样做时`sql: converting Exec argument 这是我要插入的表的结构: 问题答案: 使用自定义类型实现database / sql / driver.Valuer:

  • 问题内容: 我找不到用Clojure插入Postgres数组类型的方法。 没按我预期的那样工作。错误信息: 即使是我能找到的对SQL的最直接访问也不起作用: 真的不知道这是怎么回事: 当然一定有可能吗?如果不是通过辅助函数,则通过某种方式执行原始SQL。 问题答案: 使用 插入! 要插入字符串向量,您必须(从字符串向量中)创建一个实现java.sql.Array的对象。您可以使用java.sql.

  • 本文向大家介绍如何在PostgreSql数据库中插入Python元组?,包括了如何在PostgreSql数据库中插入Python元组?的使用技巧和注意事项,需要的朋友参考一下 默认情况下,PostgreSql数据库安装在端口号5432上。通过安装psycopg2模块提供了PostgreSql的Python接口。假设具有fname,sname,年龄,性别和薪水字段的测试数据库和雇员表可用。 首先通过

  • 问题内容: 有没有办法使用PostgreSQL json / hstore ?esp查询支持。 例如: hstore: 对于杰森 问题答案: 尽管对于答案(对于插入部分)而言为时已晚,但我希望对其他人可能有用: 在HashMap中获取键/值对: 使用以下方式之一将它们插入PostgreSQL: 1) 2) 3)在POJO中设置hstoreMap / jsonbObj(Map类型的hstoreCol