刚刚使用mybatis,项目中遇见这样一个问题
<select id="listRevertScrip" resultType="hashmap">
SELECT m.msg_id msgId,
m.dt_create_time revertTime,
m.record_id recordId,
m.room_id roomId,
a.ask_id askId,
a.content askContent,
a.dt_create_time askTime,
a.reward reward,
a.username askUsername,
s.answer_id answerId,
s.content revertContent,
s.comment comment,
s.grade grade,
s.username answerUsername
FROM t_liv_message m,
t_liv_scrip_answer s,
t_liv_scrip_ask a
WHERE m.record_id = a.record_id and
m.room_id = a.room_id and
m.msg_id = s.answer_id and
s.ask_id = a.ask_id
<if test="roomId != null and roomId != 0">
AND a.room_id = #{roomId} AND m.room_id = #{roomId}
</if>
<if test="recordId != null and recordId != 0">
AND a.record_id = #{recordId} AND m.record_id = #{recordId}
</if>
<if test="username != null and username != ''">
AND a.username = #{username}
</if>
ORDER BY m.dt_create_time desc
<if test="start != -1 and size != -1">
LIMIT #{start}, #{size}
</if>
</select>
select后面的字段我都起了一个别名,但是查询出来的字段确是一个大写一个小写
比如查询结果中msgId 会有两个 msgId=20 MSGId=20 很是奇怪!
于是我将别名全部修改成大写问题解决,不知道是不是mybatis的bug
分享到:
相关推荐
例如,如果表`TUser`中有一个字段`Name`,其中包含值“TonyTang”,直接使用`LIKE`操作符进行大小写不匹配的搜索将无法返回结果。解决办法是使用`UPPER()`函数或`ILIKE`操作符。`UPPER()`可以将字符串转换为大写,而...
- 配置文件中的数据库表名和字段名,记得遵循数据库的大小写约定,以免引起问题。 综上所述,MyBatis 的 Generator 提供了一种高效的方式来生成与数据库交互所需的 Java 代码,使得开发工作更加便捷。通过合理的...
本文将深入探讨如何在Mybatis中实现动态调用表名和字段名。 首先,了解Mybatis中两种参数占位符的区别:`#{}`和`${}`。`#{}`被解析为预编译语句(PreparedStatement)的参数标记符,比如`#{name}`会被解析为`?`,这...
如果你的实体类与数据库表中的字段差异仅限于大小写或者前缀,可以使用`@Alias`注解为实体类设置别名,然后在SQL语句中使用这个别名。例如: ```java @Alias("u") public class User { private String userName; ...
在Java Web开发中,Mybatis 提供了一种灵活的映射机制,允许我们将SQL语句直接写在XML配置文件或注解中,与Java对象进行绑定。这使得开发者可以更好地控制SQL的执行,同时避免了JDBC的大量模板代码。"mybatis1222"这...
MyBatis允许我们编写复杂的SELECT语句,通过`<select>`标签定义。如果返回的结果需要映射到Java对象,可以使用`resultMap`标签来定义字段与实体类属性的对应关系。此外,MyBatis还支持动态SQL,通过`<if>`、`...
mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载 转自:...
此外,还可以使用`@Select`、`@Insert`、`@Update`、`@Delete`等注解将SQL语句直接写在接口方法上。 6. **SqlSession与Executor**:SqlSession是MyBatis中的主要操作接口,用于执行SQL语句。Executor是执行器,负责...
总的来说,MyBatis-Plus的QueryWrapper是Spring Boot中进行数据操作的强大工具,它简化了SQL语句的编写,提高了开发效率。通过熟练掌握QueryWrapper的使用,开发者可以在项目中实现高效、灵活的数据查询。
MyBatis是一个强大的Java持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,从而提供了灵活的数据访问。"mybatis_xml关联插件"可能是为了增强MyBatis中XML映射文件的关联查询功能,使得开发更加便捷。在本篇...
4. 检查Mapper文件中的XML映射,确保字段和实体类属性的对应关系是正确的,包括大小写和类型。 5. 使用Mybatis的调试日志,通过日志输出来观察SQL执行的详细过程,找出可能的异常信息。 总的来说,当Mybatis查询...
需要注意的是,Map 结果可能会导致字段名称大小写不敏感的问题,因此在配置映射时要确保与数据库列名一致,或者使用 `mapUnderscoreToCamelCase` 配置项。 4. **插入数据后返回自动生成的主键** 在插入数据时,...
在IT行业中,MyBatis、Spring AOP、Spring事务管理和反射工具类是常见的技术栈,它们在构建高效、灵活的企业级应用中起着至关重要的作用。以下是对这些知识点的详细阐述: 1. MyBatis拦截器(MyBatis Interceptor)...
解决方案是按照主键的大小来加锁,总是先锁主键较小或较大的那行数据。 四、示例代码 我们提供了完整的示例代码,包括 AccountMapper 文件、 Account 实体类和 Service 层代码。读者可以根据需要下载和使用这些...
可以使用 MyBatis 的typeHandler 来解决实体类中的属性名和表中的字段名不一样的问题。 9. 模糊查询 like 语句该怎么写 可以使用 MyBatis 的 like 语句来实现模糊查询。 10. Dao 接口的工作原理 Dao 接口的工作...
- MyBatis默认使用部分自动映射,这意味着如果数据库字段和实体类属性名只有大小写或下划线的区别,MyBatis会尝试进行自动匹配。如果需要开启完全自动映射,可以在`mybatis-config.xml`中设置: ```xml <!-- .....
* MyBatis 将 Xml 映射文件中的 SQL 语句映射到 Dao 接口中的方法。 * Dao 接口中的方法将调用 MyBatis 的执行引擎来执行 SQL 语句。 Mybatis 是如何进行分页的?分页插件的原理是什么? MyBatis 可以使用 ...
SQL 语句写在对应的 mapper XML 文件中,与 Java 代码分离,便于管理和维护。这种方式适合处理复杂的查询和事务控制,可以充分利用 MyBatis 的动态 SQL 功能。 3. **Provider 方式**: MybatisPlus 的 Provider ...
3. MyBatis框架的缺点:(1)学习成本高、需要掌握SQL语句和Mapper文件配置、需要在Mapper文件中编写SQL语句等。 4. MyBatis框架适用场合:(1)大型项目中需要复杂的数据库交互、需要高效的数据库访问、需要灵活的...
通过`@Select`、`@Insert`、`@Update`、`@Delete`等注解,可以在接口方法上直接写SQL;同时,XML配置文件可以提供更灵活的SQL构造和结果映射。 7. **参数映射与结果类型转换**:MyBatis支持多种参数映射方式,如...