springboot jdbc事务

// 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;
    }
}

你可能感兴趣的:(springboot jdbc事务)