广告
返回顶部
首页 > 资讯 > 后端开发 > Python >mybatis的映射xml中动态设置orderby方式
  • 859
分享到

mybatis的映射xml中动态设置orderby方式

2024-04-02 19:04:59 859人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录mybatis映射xml动态设置orderbymybatis动态传入order by参数的正确方式mybatis映射xml动态设置orderby mybatis的dao xml中

mybatis映射xml动态设置orderby

mybatis的dao xml中,根据参数值设置不同的order by字段。

dao java


List<DzRainDetail> queryDetail(@Param("masterId") int masterId, 
@Param("country") String country, 
@Param("sort") String sort);

第三个参数“sort”用于决定如何写这个order by。

dao XML


<select id="queryDetail" resultMap="DetailResultMap">
    SELECT rd.id, st.address, rd.water, st.d_name
    FROM dzzhyj.dz_rain_detail rd
    INNER JOIN dzzhyj.DZ_RAIN_STATioN st ON rd.station_code = st.code
    WHERE rd.master_id = #{masterId}
    AND st.country = #{country}
    <if test="sort.compareTo('d') == 0">
        ORDER BY st.d_name ASC
    </if>
    <if test="sort.compareTo('water') == 0">
        ORDER BY rd.water DESC
    </if>
</select>

由于sort是字符串,String类型,我发现写成以下形式会报错:


<if test="sort == 'd'">
    ORDER BY st.d_name ASC
</if>
<if test="sort == 'water'">
    ORDER BY rd.water DESC
</if>

系统会将sort认为是数值型,抛出异常说无法识别的值。

mybatis动态传入order by参数的正确方式

正确方式:

ORDER BY #{shop_id} 换成 ORDER BY ${shop_id}

备注: #{shop_id}是过滤列值, ¥{shop_id}是过滤列名

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: mybatis的映射xml中动态设置orderby方式

本文链接: https://www.lsjlt.com/news/158790.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis的映射xml中动态设置orderby方式
    目录mybatis映射xml动态设置orderbymybatis动态传入order by参数的正确方式mybatis映射xml动态设置orderby mybatis的dao xml中...
    99+
    2022-11-12
  • Mybatis中xml和注解映射的方式和优缺点
    这篇文章主要介绍“Mybatis中xml和注解映射的方式和优缺点”,在日常操作中,相信很多人在Mybatis中xml和注解映射的方式和优缺点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2022-10-19
  • MyBatis Xml映射文件中的字符串替换方式是什么
    这篇文章将为大家详细讲解有关MyBatis Xml映射文件中的字符串替换方式是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。MyBatis Xml映射文件字符串替换字符串替换默...
    99+
    2023-06-21
  • mybatis plus实体类中字段映射mysql中的json格式方式
    目录mybatis plus实体类中字段映射mysql中的json格式1.实体类中有个属性是其他对象2.那么取出时怎么进行映射呢,有分为两种情况mybatis-plus 实体 jso...
    99+
    2022-11-12
  • MyBatis中一对多的xml配置方式(嵌套查询/嵌套结果)
    目录MyBatis一对多的xml配置嵌套查询嵌套结果一对多关联查询xml配置写法  情景概述创建表对应 java Pojo查询 客户表client 获取客户名下的附件信息查...
    99+
    2022-11-13
  • Mybatis中resultMap标签和sql标签的设置方式
    目录resultMap标签和sql标签的设置1、项目目录2、数据库中的表的信息3、配置文件的信息4、User类5、IUserDao接口6、MybatisTest7、运行结果resul...
    99+
    2022-11-12
  • node中Express 动态设置端口的方法
    能够动态设置端口的话,调试起来会比较方便,不需要因为默认端口被占用去改代码,还可以多开。代码如下,其实没啥难度,只要你了解nodejs里的process模块,很容易就能写出来。 假设我们想要的命令格式为n...
    99+
    2022-06-04
    端口 方法 动态
  • vue中如何动态设置css样式的hover
    目录vue动态设置css样式的hovervue使用hover.css动画vue动态设置css样式的hover 1.定义不同的颜色数组 colorList: ['#4cb352', '...
    99+
    2022-11-13
  • Android中TextView动态设置缩进距离的方法
    需求是需要在TextView前端加入一个标签展示。 最终效果图如下: 根据效果图,很容易就能想到使用SpannableStringBuilder,在这里使用到的就是LeadingM...
    99+
    2022-11-13
  • VSCode中设置Python语言自动格式化的方案
    目录 安装Python扩展 安装PEP8 安装Flake8 修改配置 开启Flake8 效果 格式化代码 批量处理历史代码 保存时自动格式化 定制策略 安装Python扩展 在VSCode的扩展(Externsions)中使用下面命令...
    99+
    2023-09-02
    vscode ide 编辑器 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作