我是后端开发的新手,目前我面临着使用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控制台中运行查询时,添加了一行。
1条答案
按热度按时间ecbunoof1#
发生这种情况是因为事务最终没有提交。我是如何得到解决方案的。
1.在spring中,将日志级别设置为application.yml中的debug。
1.看到一条消息,指出事务由于脏状态而正在回滚。
1.发现我在application. yml中复制了auto-commit=false的数据源配置。