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

  • 相关阅读:
    用sed删除文件中指定行
    传输文件到docker容器
    RAID技术全解图解-RAID0、RAID1、RAID5、RAID100
    Best PDF Document Viewers for Linux Systems
    nvidia docker install
    cuda apt install
    Ubuntu16_18建立返回桌面、显示桌面的快捷图标的特殊方法
    Linux Shell sort排序常用命令
    linux cut用法
    DispatcherServlet的作用
  • 原文地址:https://www.cnblogs.com/mengw/p/12621108.html
Copyright © 2011-2022 走看看