Jakarta ee 在mybatis-config.xml中,不同的用户如何使用不同的用户名登录到同一数据源?

Jakarta ee 在mybatis-config.xml中,不同的用户如何使用不同的用户名登录到同一数据源?,jakarta-ee,mybatis,Jakarta Ee,Mybatis,在mybatis-config.xml中,不同的用户如何使用不同的用户名登录到同一数据源?例如,我在一个唯一的Oracle数据源中有“学生”、“教师”和“管理员”三种不同的模式。我应该如何配置mybatis,让不同的用户通过不同的用户名登录到唯一的数据源?它是否必须配置多个“环境”部分 上面有一些混乱的概念,让我准确地回答我的问题: 我是否可以使用相同的驱动程序和url属性配置多个数据源,但用户名不同?您可以使用可以访问所有三个用户/架构的凭据配置单个数据源 在mybatis查询中,需要在表名前

在mybatis-config.xml中,不同的用户如何使用不同的用户名登录到同一数据源?例如,我在一个唯一的Oracle数据源中有“学生”、“教师”和“管理员”三种不同的模式。我应该如何配置mybatis,让不同的用户通过不同的用户名登录到唯一的数据源?它是否必须配置多个“环境”部分

上面有一些混乱的概念,让我准确地回答我的问题:
我是否可以使用相同的驱动程序和url属性配置多个数据源,但用户名不同?

您可以使用可以访问所有三个用户/架构的凭据配置单个数据源

在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.blogs中选择*,其中id=#{id}
从security.users中选择*,其中id=#{id}

注意:使用blog.blogssecurity.users

引用表时,您可以使用可以访问所有三个用户/模式的凭据配置单个数据源

在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.blogs中选择*,其中id=#{id}
从security.users中选择*,其中id=#{id}

注意:使用blog.blogssecurity.users

引用表,请问?什么是资历?你能给我一段XML格式的代码吗?我指的是数据库用户名/密码。更新了答案,包括示例配置。请问?什么是资历?你能给我一段XML格式的代码吗?我指的是数据库用户名/密码。更新答案,包括示例配置。