• mybatis的两个内置参数


    1,_parameter 代表整个参数
    单个参数,_parameter 就是这个参数
    多个参数 会被封装成一个map,_parameter就是代表这个map

    例如接口中有一个方法  public List<Employee> getEmpsTestInnerParameter(Employee employee);

    _parameter就代表employee对象
    2,_databaseId 如果配置了databaseIdProvider标签, _databaseId就是代表当前数据库的别名,mysql或者oracle等等。
    在mybatis配置文件中配置

     

    <databaseIdProvider type="DB_VENDOR">
    
      <!-- 为不同的数据库厂商起别名 -->
      <property name="MySQL" value="mysql"/>
      <property name="Oracle" value="oracle"/>
      <property name="SQL Server" value="sqlserver"/>
       </databaseIdProvider>

    也可以配置多个数据库环境  通过改变default的value来切换数据库

    如:

    <environments default="dev_oracle">
    
      <!--mysql环境-->
      <environment id="dev_mysql">
      <transactionManager type="JDBC"></transactionManager>
      <dataSource type="POOLED">
        <property name="driver" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
      </dataSource>
      </environment>
      <!--Oracle环境-->
      <environment id="dev_oracle">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
        <property name="driver" value="${orcl.driver}" />
        <property name="url" value="${orcl.url}" />
        <property name="username" value="${orcl.username}" />
        <property name="password" value="${orcl.password}" />
      </dataSource>
    </environment>
    </environments>

    示例

    <select id="getEmpByDataBaseId" resultType="emp">
      <if test="_databaseId=='mysql'">
        select * from employee
        <if test="_parameter!=null">
          where last_name=#{_parameter.lastName}
        </if>
      </if>
      <if test="_databaseId=='oracle'">
        select * from employees_tbl
      </if>
    </select>
  • 相关阅读:
    selenium—用NoSuchElementException异常判断页面元素是否存在
    CentOS7 Nginx安装及配置反向代理
    CentOS7 安装 jexus-5.8.2-x64
    Windows Server 2008 R2远程协助选项 灰色
    IIS8.5 Error Code 0x8007007e HTTP 错误 500.19的解决方法
    记一次 windows server 2012R2 上安装 MSSQL2005 及网站发布
    记一次《系统集成实施的相关知识》培训自己感悟
    MySql 远程连接的条件
    CentOS7 下安装mysql历程
    VirtualBox虚拟机网络设置(四种方式)
  • 原文地址:https://www.cnblogs.com/a-small-lyf/p/10324985.html
Copyright © 2020-2023  润新知