zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    poj1006生理周期(中国剩余定理)
    Sort the Array
    pojBuy Tickets2828线段树或者树状数组(队列中倒序插队)
    poj 2187 Beauty Contest(凸包求解多节点的之间的最大距离)
    将数据转化成字符串时:用字符串的链接 还是 StringBuilder
    poj 2031Building a Space Station(几何判断+Kruskal最小生成树)
    java中同步嵌套引起的死锁事例代码
    poj 1905Expanding Rods
    (单例设计模式中)懒汉式与饿汉式在多线程中的不同
    HDU 1024Max Sum Plus Plus(最大m字段和)
  • 原文地址:https://www.cnblogs.com/a-small-lyf/p/10324985.html
Copyright © 2011-2022 走看看