これでプロジェクトは springmvc+ spring + mybatis + druid + postgresql を使用しています プロジェクト内のユーザーはデータベース内のユーザーに対応しているため、SQL を実行するたびに (set role user) コマンドでユーザーを切り替えてから crud を実行しますデータベースの操作。
私の質問: 接続プールには多数の接続があるため、最初にデータベースの接続を取得し、次にユーザーを切り替えてから、データベースに対してビジネス SQL の操作を実行します。しかし、接続プールの接続と SQL の実行が基になるコードによって実装されているため、このロジックをプロジェクトのどの部分で処理する必要があるのか わかりません。何か良い計画はありますか?次の操作など、完全なデモを提供してもらえますか。
ステップ 1、Spring Security (または shiro) からユーザーの名前を取得します。
ステップ 2、現在データベースを使用している接続を接続プールから取得します。
ステップ 3、SQL を実行して (役割ユーザーを設定)、役割を切り替えます。
ステップ 4、crud 操作を実行します。
ステップ 5、データベース接続をリセットする (役割のリセット)