JDBC Select有时看不到插入的记录,但它存在

时间:2019-07-30 10:30:20

标签: mysql spring spring-boot jdbc jdbctemplate

我正在使用jdbc连接到数据库。在存储库中,我有这样的东西:

public Holiday save(Holiday holiday) {
    jdbcTemplate.update(
            INSERT_SQL,
            new MapSqlParameterSource()
                    .addValue("date", holiday.getDate())
                    .addValue("version", holiday.getVersion())
                    .addValue("description", holiday.getDescription())
                    .addValue("created", holiday.getCreated())
                    .addValue("modified", holiday.getModified())
    );

    return findByDate(holiday.getDate());
}

private Holiday findByDate(LocalDate date) {
    return jdbcTemplate.queryForObject(
            SELECT_SQL_BY_DATE,
            new MapSqlParameterSource().addValue("date", date),
            new HolidayRowMapper()
    );
}

(字段日期是唯一的)有时我会出错,因为select找不到保存的记录,但是当我查看数据库时,它总是被保存。是否可以在插入之前执行select?也许这是我的mysql数据库上的东西?我真的不知道这是什么

(jdbcTemplate为NamedParameterJdbcTemplate)

0 个答案:

没有答案