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标签对应一的一方的一个实体
相关文章
|
12月前
|
数据库 Python
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
|
前端开发 JavaScript 数据库
获取数据库中字段的数据作为下拉框选项
获取数据库中字段的数据作为下拉框选项
267 5
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
文章介绍了MyBatis中高级查询的一对多和多对一映射处理,包括创建数据库表、抽象对应的实体类、使用resultMap中的association和collection标签进行映射处理,以及如何实现级联查询和分步查询。此外,还补充了延迟加载的设置和用法。
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
|
缓存 数据库 数据安全/隐私保护
Discuz! X 数据库字典详解:DZ各数据表作用及字段含义
我们使用DISCUZ做网站时,有时需要对数据表进行操作,在操作数据表之前,需要对数据表进行了解。下面是DISCUZ 数据库各数据表作用及字段含义详解,方便新手更好的了解DISCUZ数据库。
367 4
|
SQL XML Java
Mybatis的<where>,<if>等标签用法
这篇文章详细解释了Mybatis中<where>和<if>等标签的用法,展示了如何在SQL动态构建中有效地过滤条件和处理逻辑分支。
1046 1
|
SQL Java 数据库连接
Mybatis入门(select标签)
这篇文章介绍了Mybatis中`select`标签的基本用法及其相关属性,并通过示例展示了如何配置和执行SQL查询语句。
353 0
Mybatis入门(select标签)
|
SQL Java 数据库连接
Mybatis的<insert>,<update>,<delete>标签用法
这篇文章详细讲解了Mybatis中<insert>, <update>, <delete>标签的使用方法,并提供了示例代码来展示如何执行数据库的增删改操作。
1354 0
|
6月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
470 158
|
6月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
6月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1117 152