在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案例一所用建表语句”,并结合MySQL数据库的相关知识进行讲解。 首先,我们来理解Mybatis的核心概念。Mybatis主要由三部分组成:XML或注解方式的SQL映射文件...
由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapper映射文件。
通过SqlSession,开发者可以直接提交或回滚事务,以及执行预编译的SQL语句(MappedStatement)。 1. **动态SQL**:MyBatis的一个强大特性是其支持动态SQL,允许在XML映射文件或注解中构建SQL语句。比如,我们可以...
1. **预编译与安全防护**:在Mybatis中,`#{}`主要用于参数预编译,它可以有效防止SQL注入攻击。预编译过程中,`#{}`内的表达式被视为参数值而非SQL的一部分,因此会被转换为字符串形式,再通过占位符(如`?`)进行...
if 、where、set、trim、choose 、foreach等在mybatis中的具体用法,有具体实例可供参考,玩转mybatis
通过mybatis拦截器将查询语句、更新语句、删除语句、插入语句中指定表明替换为另一个表名
在 `selectPersonSql()` 方法中,可以看到这种风格的使用,它将原始的 SQL 语句拆分成各个部分,如 SELECT、FROM、INNER_JOIN、WHERE、GROUP_BY、HAVING 和 ORDER_BY,每个部分都对应一个方法调用,使得代码更清晰...
在本项目中,我们关注的是MyBatis的代码生成器(MyBatis Generator,MBG),它能够自动生成SQL语句、XML映射文件以及对应的实体类,极大地提高了开发效率,减少了手动编写这些基础代码的工作量。 MyBatis Generator...
4. **statementType**:这个属性指定了执行 SQL 语句的方式,可以是 `STATEMENT`(预编译前的 SQL 语句)、`PREPARED`(预编译的 SQL 语句,对应 PreparedStatement)或 `CALLABLE`(用于调用存储过程)。...
select * from table01 order by id ``` 在上面的 XML 文件中,我们定义了两个 SQL 语句,第一个 SQL 语句用于从 table01 表中根据 id 字段查询用户信息,第二个 SQL 语句用于从 table01 表中查询所有用户信息。...
关于mybatis自动生成语句,还有一些jar,需要的联系我
本文将深入探讨如何在SpringBoot(整合MyBatis)和传统的SSM(Spring、SpringMVC、MyBatis)项目中,原样输出MyBatis的SQL执行语句,以便于开发者直观地检查SQL语句是否正确和高效,从而进行优化和调试。此方法对...
标题提到的“mybatis 对oracle或mysql表反编译成Java类”实际上是指MyBatis的逆向工程(Reverse Engineering)功能,它能够根据数据库中的表结构自动生成对应的Java实体类(Entity)、数据访问对象(DAO)、服务接口...
MyBatisPlus是一款基于MyBatis的扩展框架,它提供了许多便利的功能,简化了数据库操作。在实际开发中,我们经常需要对查询结果进行排序,MyBatisPlus为此提供了`orderBy`、`orderByDesc`和`orderByAsc`三个方法,...
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 字符串替换 默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,...
在MyBatis与Spring整合的框架中,为了便于调试和性能优化,我们常常需要在日志中打印出执行的SQL语句。以下是如何在这样的环境中配置日志来显示SQL语句的详细步骤。 首先,我们需要了解MyBatis的日志实现。MyBatis...
`demo.zip`中的内容可能是解决这个问题的一种方案,它提供了一种在MyBatis注解中进行SQL语句拼接的方法。 首先,让我们深入理解MyBatis注解的基础知识。MyBatis的注解主要分为以下几种: 1. `@Select`:用于标记一...
MyBatis是一个流行的Java持久层框架,它简化了与数据库之间的交互,允许开发者将SQL查询直接映射到Java代码中。Oracle则是一种广泛使用的大型关系型数据库管理系统,尤其在企业级应用中非常常见。本实例将指导你如何...
log4j.xml文件,打印详细的mybatis执行过程中的语句
在MyBatis中,通常会在Mapper XML文件中定义这些SQL语句,或者在初始化阶段通过编程方式执行。例如: ```sql CREATE TABLE `user` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `username` VARCHAR(50) NOT NULL, `...