postgresql namedParameterJdbcTemplate更新返回1,但数据未添加到数据库POSTGRES SPRING-JDBC

0qx6xfy6  于 2023-01-25  发布在  PostgreSQL
关注(0)|答案(1)|浏览(262)

我是后端开发的新手,目前我面临着使用namedParameterJdbcTemplate从Spring DAO服务向我的postgres数据库添加数据的问题。

public int addCompany(CompanyDto companyDto) throws DataAccessException {
        MapSqlParameterSource namedParams = new MapSqlParameterSource();
        namedParams.addValue("name", companyDto.getName());

        return namedParameterJdbcTemplate.update(
            CompanyQueries.ADD_COMPANY,
            namedParams
    );
}
public class CompanyQueries {
    public static final String ADD_COMPANY = "INSERT INTO company (name) values (:name);";
}

但是当我调用端点并调用addCompany()中的更新时,它返回1,表ID的序列递增,数据库日志中没有任何错误,我在postgresql.conf中打开了csvlogs。
并且namedParameterJdbcTemplate的选择可以正常工作。
POSTGRES版本15 JAVA 17 Spring 6 Spring 启动3
当我在datagrip控制台中运行查询时,添加了一行。

ecbunoof

ecbunoof1#

发生这种情况是因为事务最终没有提交。我是如何得到解决方案的。
1.在spring中,将日志级别设置为application.yml中的debug。
1.看到一条消息,指出事务由于脏状态而正在回滚。
1.发现我在application. yml中复制了auto-commit=false的数据源配置。

相关问题