mybatis 字段与数据库关键字冲突了怎么办、mybatis for 循环查询输出、mybatis常用标签

简介: mybatis 字段与数据库关键字冲突了怎么办如update join_brand_hot setindex = #{top}where id = #{id}

mybatis 字段与数据库关键字冲突了怎么办

如update join_brand_hot set

index = #{top}

where id = #{id}

这样明显会因为index与索引关键词导致的冲突

解决方法一

update join_brand_hot set
`index` = #{top}
where id = #{id}

解决方法二

update join_brand_hot h set

h.index = #{top}

where id = #{id}

mybatis传入的参数不能直接干涉到MySQL

mybatis传入的参数不能直接干涉到MySQL

传入的参数做的if判定只能影响#{}这个传入的值

不是对MySQL数据库进行选择

所以应该这样写

<if test="today != null" >
    and (show_end_time is null or show_end_time &gt;= #{today})
</if>

mybatis for 循环查询输出

 select * form user where 
        name in 
<foreach collection="searchNameForList" item="item" index="index" open="(" separator="," close=")">
   #{item}
</foreach>

批量更新mybatis plus

//条件
        UpdateWrapper<MchDataAuthConfigRule> updateWrapper  = new UpdateWrapper<>();
        updateWrapper.in("id", idList);
        //更新
        MchDataAuthConfigRule rule = new MchDataAuthConfigRule();
        rule.setStatus(100);
        int update = mchDataAuthConfigRuleMapper.update(rule, updateWrapper);
        log.info("update:{}", update);

mybatis常用标签

1.if 标签
if标签通常用于WHERE语句、UPDATE语句、INSERT语句中,通过判断参数值来决定是否使用某个查询条件、判断是否更新某一个字段、判断是否插入某个字段的值。
2.foreach 标签
foreach标签主要用于构建in条件,可在sql中对集合进行迭代。也常用到批量删除、添加等操作中。
3 choose标签
有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个。
MyBatis提供了choose 元素,按顺序判断when中的条件出否成立,
如果有一个成立,则choose结束。当choose中所有when的条件都不满则时,
则执行 otherwise中的sql。类似于Java 的switch 语句,choose为switch,
when为case,otherwise则为default。 if是与(and)的关系,而choose是或(or)的关系。
4. where标签
这个“where”标签会知道如果它包含的标签中有返回值的话,它就插入一个‘where’。
此外,如果标签返回的内容是以AND 或OR 开头的,则它会剔除掉。
5. set 标签
当在update语句中使用if标签时,使用set标签可以将动态的配置set关键字,和剔除追
加到条件末尾的任何不相关的逗号。
6.include标签
sql标签中id属性对应include标签中的refid属性。通过include标签将sql片段
和原sql片段进行拼接成一个完整的sql语句进行执行。
例如:
7.多表联查中:
JavaType和ofType都是用来指定对象类型的,但是JavaType是用来指定pojo中属性的类型,而ofType指定的是映射到list集合属性中pojo的类型。
 collection、association标签是用于体现关联的。 如一个实体与另一个实体之间是一对多的关系, 那么在一的一方使用 
                    collection 标签,对应多的一方的一个集合, 在多的一方使用association标签对应一的一方的一个实体
相关文章
|
7天前
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
54 6
|
7天前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
85 0
|
1月前
|
前端开发 JavaScript 数据库
获取数据库中字段的数据作为下拉框选项
获取数据库中字段的数据作为下拉框选项
59 5
|
1月前
|
存储 缓存 网络协议
数据库执行查询请求的过程?
客户端发起TCP连接请求,服务端通过连接器验证主机信息、用户名及密码,验证通过后创建专用进程处理交互。服务端进程缓存以减少创建和销毁线程的开销。后续步骤包括缓存查询(8.0版后移除)、语法解析、查询优化及存储引擎调用,最终返回查询结果。
36 6
|
1月前
|
SQL JavaScript 程序员
数据库LIKE查询屡试不爽?揭秘大多数人都忽视的秘密操作符!
本文分析了因数据库中的不可见空白字符导致的数据查询问题,探讨了问题的成因与特性,并提出了使用 SQL 语句修复问题的有效方案。同时,总结了避免类似问题的经验和注意事项。
39 0
|
2月前
|
存储 缓存 固态存储
怎么让数据库查询更快
【10月更文挑战第28天】
47 2
|
2月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
7天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
23 2
|
3月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
186 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
3月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
120 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块