gpt4 book ai didi

java - Spring DataSourceTransactionManager 不提交

转载 作者:搜寻专家 更新时间:2023-10-30 20:14:10 24 4
gpt4 key购买 nike

我认为我的事务管理器根本不起作用。在插入数据库时​​自动增量值增加,但没有添加新数据。我以编程方式定义事务管理器、jdbc 模板和数据源。交易经理:

@Bean("txManager")
public DataSourceTransactionManager dataSourceTransactionManager(
BasicDataSource basicDataSource) {
return new DataSourceTransactionManager(basicDataSource);;
}

JDBC 模板:

@Bean
public NamedParameterJdbcTemplate namedParameterJdbcTemplate(
BasicDataSource basicDataSource) {
return new NamedParameterJdbcTemplate(basicDataSource);
}

数据源:

@Bean
public BasicDataSource basicDataSource() {
BasicDataSource dataSource = new BasicDataSource();
// ...
dataSource.setDefaultAutoCommit(false);
// ...
return dataSource;
}

服务:

@Override
@Transactional("txManager")
public User register(RegistrationForm registrationForm) {
User userToRegister = UserMapper.registrationFormToUser().apply(registrationForm);
encryptPassword(userToRegister);
return userDao.insert(userToRegister);
}

这是调试日志:

[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] DataSourceUtils - Fetching JDBC Connection from DataSource
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] DataSourceUtils - Returning JDBC Connection to DataSource
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] JdbcTemplate - Executing SQL update and returning generated keys
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] JdbcTemplate - Executing prepared SQL statement [INSERT INTO "user" (first_name, last_name, email, password, role_id) VALUES (?, ?, ?, ?, ?)]
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] DataSourceUtils - Fetching JDBC Connection from DataSource
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] DataSourceUtils - Returning JDBC Connection to DataSource

我做错了什么?

最佳答案

看来您的 Spring 配置类中缺少 @EnableTransactionManagement

关于java - Spring DataSourceTransactionManager 不提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53665967/

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