mybatis根据传进来的参数执行不同的SQL语句

根据排序方式:

在这里插入图片描述

SQL:

 <select id="query**" resultType="com.guoguo.brains.model.AnsModel">
 // 查询语句
        SELECT
        id AS Id,
        count AS Count,
        FROM
        t_answer
        WHERE
        brain_storm_id = #{Id}
        
//条件--根据orderStyle的值按评论数、点赞数、时间排序

        <choose>
            <when test="orderStyle=='commentStyle'">
                order by count
                desc
            </when>
            <when test="orderStyle=='likeStyle'">
                order by like
                desc
            </when>
            <otherwise>
                order by tb_answer.create_time
            </otherwise>
        </choose>

    </select>
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SQL语句中添加参的值,可以使用参数询的方式。参数询可以避免SQL注入等安全问题,同时也更加方便灵活。 具体使用方法是在SQL语句中使用占位符(通常是`?`)表示参数,然后在执行SQL语句时将实际的参数递给占位符。在MySQL中,可以使用预处理语句来实现参数询。 例如,假设您要询表名为`students`中`name`列为`Tom`的行的信息,可以使用以下代码: ``` -- 创建预处理语句 PREPARE stmt FROM 'SELECT * FROM students WHERE name=?'; -- 绑定参数执行语句 SET @name = 'Tom'; EXECUTE stmt USING @name; ``` 上面的代码中,`PREPARE`语句用来创建一个预处理语句,其中的占位符`?`表示一个参数。`SET`语句用来将实际的参数值赋给变量`@name`。最后,`EXECUTE`语句用来执行预处理语句,并使用`USING`子句将变量`@name`绑定到占位符`?`上。 注意,使用预处理语句时需要注意以下几点: 1. 创建预处理语句时,可以使用任意的SQL语句,包括SELECT、INSERT、UPDATE、DELETE等语句。 2. 参数询可以避免SQL注入等安全问题,同时也更加方便灵活。 3. 在绑定参数时,需要使用变量来保存参数值。变量名以`@`开头。 4. 在执行预处理语句时,需要使用`EXECUTE`语句,并使用`USING`子句将变量绑定到占位符上。 5. 执行完预处理语句后,需要使用`DEALLOCATE PREPARE`语句来释放资源。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值