MyBatis动态传入表名,字段名参数的解决办法
MyBatis动态传入表名,字段名参数的解决办法
啊哈关关 发表于6个月前
MyBatis动态传入表名,字段名参数的解决办法
  • 发表于 6个月前
  • 阅读 18
  • 收藏 0
  • 点赞 0
  • 评论 1

新睿云服务器60天免费使用,快来体验!>>>   

1.添加属性statementType="STATEMENT"

2.且sql中的变量用${params},而不是#{params},如果是字符串类型的数据要手动加上引号

<select id="findBy" resultMap="userResultMap" parameterType="HashMap" statementType="STATEMENT">
        SELECT `id`,`name`,`email`,`mobile`
         FROM `${tableName}`
        <trim prefixOverrides="and" prefix="WHERE">
            <if test="id != null">
                and `id` = ${id}
            </if>
            <if test="name != null">
                and `name` = '${name}'
            </if>
            <if test="email != null">
                and `email` = '${email}'
            </if>
            <if test="mobile != null">
                and `mobile` = '${mobile}'
            </if>
           
        </trim>
    </select>

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 112
码字总数 54249
评论 (1)
wangkang80
尽量不要这样写,会有sql注入的风险
×
啊哈关关
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: