`
天堂飘过
  • 浏览: 19665 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mybatis预编译order by 语句无法生效

阅读更多
在mybatis的xml语句中 根据情况不同 采用不同的排序方式
        <if test="ordercolumn != null">
            ORDER BY #{ordercolumn} DESC
        </if>

但是没有生效,参考别人意见后,原来预编译时,将ordercolumn字段名转为字符串String格式,比如ordercolumn="name", sql语句是
ORDER BY “name” DESC

所以排序无法生效。

    解决办法:将xml按如下修改
        <choose>
            <when test="ordertype!=null and ordertype==1">
                ORDER BY carindex DESC
            </when>
            <when test="ordertype!=null and ordertype==2">
                ORDER BY statdate DESC
            </when>
            <otherwise>
                ORDER BY carindex DESC
            </otherwise>
        </choose>


传参数ordertype使用枚举形式,排序生效。
问题解决
分享到:
评论

相关推荐

    Mybatis案例一所用建表语句

    本文将深入探讨Mybatis的基础知识,特别是针对“Mybatis案例一所用建表语句”,并结合MySQL数据库的相关知识进行讲解。 首先,我们来理解Mybatis的核心概念。Mybatis主要由三部分组成:XML或注解方式的SQL映射文件...

    mybatis反编译工具

    由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapper映射文件。

    mybatis直接执行sql语句后续之一

    通过SqlSession,开发者可以直接提交或回滚事务,以及执行预编译的SQL语句(MappedStatement)。 1. **动态SQL**:MyBatis的一个强大特性是其支持动态SQL,允许在XML映射文件或注解中构建SQL语句。比如,我们可以...

    Mybatis排序无效问题解决.doc

    1. **预编译与安全防护**:在Mybatis中,`#{}`主要用于参数预编译,它可以有效防止SQL注入攻击。预编译过程中,`#{}`内的表达式被视为参数值而非SQL的一部分,因此会被转换为字符串形式,再通过占位符(如`?`)进行...

    mybatis动态SQL语句

    if 、where、set、trim、choose 、foreach等在mybatis中的具体用法,有具体实例可供参考,玩转mybatis

    mybatis拦截器修改执行sql语句

    通过mybatis拦截器将查询语句、更新语句、删除语句、插入语句中指定表明替换为另一个表名

    MyBatis 3 _ SQL 语句构建器1

    在 `selectPersonSql()` 方法中,可以看到这种风格的使用,它将原始的 SQL 语句拆分成各个部分,如 SELECT、FROM、INNER_JOIN、WHERE、GROUP_BY、HAVING 和 ORDER_BY,每个部分都对应一个方法调用,使得代码更清晰...

    mybatis自动生成语句XML版本

    在本项目中,我们关注的是MyBatis的代码生成器(MyBatis Generator,MBG),它能够自动生成SQL语句、XML映射文件以及对应的实体类,极大地提高了开发效率,减少了手动编写这些基础代码的工作量。 MyBatis Generator...

    mybatis教程之动态sql语句[收集].pdf

    4. **statementType**:这个属性指定了执行 SQL 语句的方式,可以是 `STATEMENT`(预编译前的 SQL 语句)、`PREPARED`(预编译的 SQL 语句,对应 PreparedStatement)或 `CALLABLE`(用于调用存储过程)。...

    Mybatis执行SQL语句的方式

    select * from table01 order by id ``` 在上面的 XML 文件中,我们定义了两个 SQL 语句,第一个 SQL 语句用于从 table01 表中根据 id 字段查询用户信息,第二个 SQL 语句用于从 table01 表中查询所有用户信息。...

    mybatis自动生成语句

    关于mybatis自动生成语句,还有一些jar,需要的联系我

    原样输出mybatis的sql执行语句(mysql和oracle都可用).zip

    本文将深入探讨如何在SpringBoot(整合MyBatis)和传统的SSM(Spring、SpringMVC、MyBatis)项目中,原样输出MyBatis的SQL执行语句,以便于开发者直观地检查SQL语句是否正确和高效,从而进行优化和调试。此方法对...

    mybatis 对oracle或mysql表反编译成Java类

    标题提到的“mybatis 对oracle或mysql表反编译成Java类”实际上是指MyBatis的逆向工程(Reverse Engineering)功能,它能够根据数据库中的表结构自动生成对应的Java实体类(Entity)、数据访问对象(DAO)、服务接口...

    MyBatisPlus条件构造器带条件排序方法orderBy、orderByDesc、orderByAsc使用示例代码

    MyBatisPlus是一款基于MyBatis的扩展框架,它提供了许多便利的功能,简化了数据库操作。在实际开发中,我们经常需要对查询结果进行排序,MyBatisPlus为此提供了`orderBy`、`orderByDesc`和`orderByAsc`三个方法,...

    Mybatis现学现用

    MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 字符串替换 默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,...

    mybatis+spring 框架中配置日志中显示sql语句

    在MyBatis与Spring整合的框架中,为了便于调试和性能优化,我们常常需要在日志中打印出执行的SQL语句。以下是如何在这样的环境中配置日志来显示SQL语句的详细步骤。 首先,我们需要了解MyBatis的日志实现。MyBatis...

    demo.zip_Mybatis注解时的sql语句拼接方法_SSM 注解_SSM分页查询_mybatis注解分页_基于ssm

    `demo.zip`中的内容可能是解决这个问题的一种方案,它提供了一种在MyBatis注解中进行SQL语句拼接的方法。 首先,让我们深入理解MyBatis注解的基础知识。MyBatis的注解主要分为以下几种: 1. `@Select`:用于标记一...

    mybatis连接oracle实例

    MyBatis是一个流行的Java持久层框架,它简化了与数据库之间的交互,允许开发者将SQL查询直接映射到Java代码中。Oracle则是一种广泛使用的大型关系型数据库管理系统,尤其在企业级应用中非常常见。本实例将指导你如何...

    打印mybatis语句的 log4j文件

    log4j.xml文件,打印详细的mybatis执行过程中的语句

    mybatis入门实例(mysql数据库,带建表语句)

    在MyBatis中,通常会在Mapper XML文件中定义这些SQL语句,或者在初始化阶段通过编程方式执行。例如: ```sql CREATE TABLE `user` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `username` VARCHAR(50) NOT NULL, `...

Global site tag (gtag.js) - Google Analytics