MyBatis 提供了一个<if>
标签来动态拼接ORDER BY
子句,可以有效避免 SQL 注入。具体做法如下:
<if>
标签来判断是否需要添加ORDER BY
子句。<select id="selectUsers" resultType="User">
SELECT * FROM users
<if test="orderBy != null">
ORDER BY ${orderBy}
</if>
</select>
orderBy
变量的取值,从而避免直接拼接 SQL 语句导致的 SQL 注入风险。public List<User> selectUsers(String orderBy) {
return sqlSession.selectList("selectUsers", orderBy);
}
通过以上方式,可以有效防止 SQL 注入问题,保障系统的安全性。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Mybatis中case when怎样实现动态查询