zoukankan      html  css  js  c++  java
  • MyBatis的两个内置函数

    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>
    

    参考:https://www.cnblogs.com/a-small-lyf/p/10324985.html

  • 相关阅读:
    Uva11235
    Uva11300/BZOJ1045/BZOJ1465/BZOJ3292
    树形背包模板
    Miller-Rabin素性测试
    BZOJ1500 : [NOI2005]维修数列-fhq_Treap
    COGS2421 [HZOI 2016]简单的Treap
    用 fhq_Treap 实现可持久化平衡树
    hdu 1010(DFS) 骨头的诱惑
    hdu 1026(BFS+输出路径) 我要和怪兽决斗
    hdu 1072(BFS) 有炸弹
  • 原文地址:https://www.cnblogs.com/mengw/p/12621108.html
Copyright © 2011-2022 走看看