gpt4 book ai didi

java - JdbcTemplate 插入成功但数据库中没有行

转载 作者:行者123 更新时间:2023-12-02 06:14:28 24 4
gpt4 key购买 nike

这个问题是几年前提出的,但答案对我来说不起作用。我已将建议的注释添加到配置和 dao 中。我确信模板实际上正在连接到数据库,因为当我的列太小时,我收到了适当的错误。更新调用正在执行单行插入,并且毫无异常(exception)地返回 1。然而,当我检查数据库时,里面没有数据。

如有任何帮助,我们将不胜感激。

配置:

@Configuration
@EnableTransactionManagement
@ComponentScan("com.XXX.query.repository")
public class SqlConfig {
@Autowired
private Environment env;

@Bean
public DataSource getDatasource() {
DriverManagerDataSource datasource = new DriverManagerDataSource();
datasource.setDriverClassName(env.getProperty("sql-datasource.driverClassName"));
datasource.setUrl(env.getProperty("sql-datasource.url"));
datasource.setUsername(env.getProperty("sql-datasource.username"));
datasource.setPassword(env.getProperty("sql-datasource.password"));

return datasource;
}

@Bean
public JdbcTemplate jdbcTemplate() {
return new JdbcTemplate(getDatasource());
}

DAO:

@Repository
public class SqlRepositoryImpl implements SqlRepository {

@Autowired
private JdbcTemplate template;

<snip>

@Transactional
@Override
public void addOrder(String foo, String bar, String bat, String cat) {

int i;
try {
// we may already have this data
System.out.println("here");
i = template.update(
"insert into someTable "
+ "(A, B, C, D)"
+ " values (?,?,?,?)",
foo, bar, bat, cat);
} catch (DataAccessException ex) {
checkForDupeKey(ex);
}

<snip>

最佳答案

该区域发生了一个愚蠢的错误,引发了异常并取消了事务。由于某种原因,该异常从未浮出水面,因此直到我一次一行地完成所有内容后我才意识到这一点。我很抱歉浪费了人们的时间。

关于java - JdbcTemplate 插入成功但数据库中没有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55880090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com