2016-09-21 14 views
0

mybatis-config.xmlでは、異なるユーザーが異なるユーザー名を使用して同じデータソースにログインする方法を教えてください。たとえば、1つのユニークなOracleデータソースに「student」、「teacher」、および「administor」という3つの異なるスキーマがあります。異なるユーザー名で異なるユーザーが固有のデータソースにログインできるようにmybatisを構成するにはどうすればよいですか?複数の「環境」セクションを設定する必要がありますか?mybatis-config.xmlでは、異なるユーザーが異なるユーザー名を使用して同じデータソースにログインする方法を教えてください。

上記にはいくつかのコンセプトがありますが、正確に私の質問をしてみましょう: ドライバとURLのプロパティは同じですが、ユーザー名が異なる複数のデータソースを設定できますか?

答えて

0

3つのユーザー/スキーマすべてにアクセスできる資格情報を持つ単一のデータソースを構成できます。

mybatisクエリでは、テーブル名の前にユーザー/スキーマ名を付ける必要があります。

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE configuration 
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
    "http://mybatis.org/dtd/mybatis-3-config.dtd"> 
<configuration> 
    <environments default="development"> 
    <environment id="development"> 
     <transactionManager type="JDBC"/> 
     <dataSource type="POOLED"> 
     <property name="driver" value="${driver}"/> 
     <property name="url" value="${url}"/> 
     <property name="username" value="${username}"/> 
     <property name="password" value="${password}"/> 
     </dataSource> 
    </environment> 
    </environments> 
    <mappers> 
    <mapper resource="BlogMapper.xml"/>  
    </mappers> 
</configuration> 

BlogMapper.xml

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper 
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 

<mapper namespace="org.mybatis.example.BlogMapper"> 

    <select id="selectBlog" resultType="Blog"> 
    select * from blog.blogs where id = #{id} 
    </select> 

    <select id="selectUser" resultType="User"> 
    select * from security.users where id = #{id} 
    </select> 

</mapper> 

blog.blogssecurity.usersを使用してテーブルを参照します。

+0

すみません。資格情報とは何ですか? XML形式のコードを私に渡すことができますか? – kenneth

+0

資格情報とは、データベースのユーザー名/パスワードを意味します。サンプル構成を含めるように更新されました。 –

関連する問題