同じトランザクションで両方の更新ステートメントを実行する無名 PL/SQL ブロックを含む文字列を作成し、その文字列を PreparedStatement で使用してバインド変数を設定できます。
1) A のバインド変数を入力し、2) A を実行し、3) B のバインド変数を入力し、4) B を実行し、5) トランザクションをコミットしたいとおっしゃいました。
私の提案は、その順序に正確に従っていません。A と B のステートメントを含む 1 つの大きな PL/SQL 匿名ブロックを用意することをお勧めします。実行する前に、ブロック全体のすべてのバインド変数を入力します。PL/SQLブロック内から、コミット/ロールバックまたは必要なその他のロジック(より複雑な例外処理を含む)を制御できます。
これは基本的に、データベースに保存しないストアド プロシージャを使用するようなものです。正直なところ、コードの一部のコンテキスト外で利用可能にする必要のないものに対しては、これが私の好みの方法です。そのため、ビジネス ロジックはデータベースに保持されません (多くの人が、それが良いことか悪いことかについて何時間も議論します。私は個人的にデータベース レベルでのビジネス ロジックは嫌いですが、それはプロジェクトによって異なります)。
また、PreparedStatement が継承する Statement のドキュメントも参照してください。
http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html
本当に同じ PreparedStatement オブジェクトを使用して 1 つの SQL ステートメントを実行したい場合は、clearBatch と addBatch を呼び出してから、SQL を入れ替えて、まったく別のステートメントを実行できます。