Mybatisで別スキーマを使用する方法
Mybatisで別スキーマを使用する方法について、以下のような例が考えられます。
1. 別スキーマの設定
異なるスキーマを参照する場合、XMLマッピングファイルでスキーマを指定する必要があります。
例えば、test_userテーブルがschema1スキーマに存在し、test_orderテーブルがschema2スキーマに存在する場合、次のように設定します。
例
<select id="selectUser" parameterType="int" resultType="test_user"> select * from schema1.test_user where user_id = #{userId} </select> <select id="selectOrder" parameterType="int" resultType="test_order"> select * from schema2.test_order where order_id = #{orderId} </select>
2. 別スキーマを使った結合クエリ
異なるスキーマのテーブルを結合する場合、クエリ内で完全修飾テーブル名を使用します。
例
<select id="selectUserAndOrder" parameterType="int" resultType="map"> select u.*, o.* from schema1.test_user u join schema2.test_order o on u.user_id = o.user_id where u.user_id = #{userId} </select>
このように、異なるスキーマのテーブルを参照する場合は、テーブル名の前にスキーマ名を指定することで対応できます。