// app支持事务
@EnableTransactionManagement
class App {
}
@Service
public class BobService {
// 辅助事务支持
@Autowired
BobService self;
@Autowired
private JdbcTemplate jdbc;
public int publicFunc() {
self.saveToDB();
}
// 事务方法必须public
@Transactional
public int saveToDB() {
String sql = "insert into table1(a,b) values(?,?)";
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbc.update(conn -> {
PreparedStatement ps = conn.prepareStatement(sql, new String[]{"id"});
ps.setString(1, "valueA");
ps.setString(2, "valueB");
}, keyHolder);
int id = 0;
if (keyHolder.getKey() != null) {
id = keyHolder.getKey().intValue();
}
return id;
}
}