zoukankan      html  css  js  c++  java
  • mybatis动态列名

    mybatis动态列名

    <select id="getUser" resultType="java.util.Map" parameterType="java.lang.String" statementType="STATEMENT">
        select 
            ${columns}
        from ${tableName}
            where COMPANY_REMARK = ${company}
      </select>

    要实现动态调用表名和字段名,就不能使用预编译了,需添加statementType="STATEMENT"

    statementType:STATEMENT(非预编译),PREPARED(预编译)或CALLABLE中的任意一个,这就告诉 MyBatis 分别使用Statement,PreparedStatement或者CallableStatement。
    默认:PREPARED。这里显然不能使用预编译,要改成非预编译。

    其次,sql里的变量取值是${xxx},不是#{xxx}。因为${}是将传入的参数直接显示生成sql,如${xxx}传入的参数为字符串数据,需在参数传入前加上引号,如:

    String name = "sprite";
            name = "'" + name + "'";

    如果使用的是动态列名,则不需要添加 ' ',直接传入参数即可

      <!--查询月度指标-->
      <select id="findMonthIndicator" resultMap="BaseResultMap"
              parameterType="com.jn.ssr.superrescuereporting.web.entity.PerformanceIndicatorEntity" statementType="STATEMENT">
        select  ${param.orderNumber},${param.turnover}
         from in_performance_indicators
         <where>
           <if test="param.year != null">
             and year = #{param.year,jdbcType=INTEGER}
           </if>
         </where>
      </select>
  • 相关阅读:
    257. Binary Tree Paths
    poj2406 kmp
    hust1010 kmp
    hdu1358 kmp的next数组
    hdu3746 kmp求循环节
    hdu1686字符串kmp
    hdu2087kmp
    hdu1711kmp
    poj3067树状数组求逆序数
    poj1159二维树状数组
  • 原文地址:https://www.cnblogs.com/huanghuanghui/p/9950876.html
Copyright © 2011-2022 走看看