框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

本文介绍MyBatis框架中的动态SQL技术,重点讲解trim标签和SQL片段的使用方法,包括trim标签的属性、使用案例以及SQL片段的定义和调用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本节主要内容

1:动态sql使用(trim标签、sql片段的使用)

2:总结&下节预告

本文是《凯哥陪你学系列-框架学习之mybatis框架学习》中框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

声明:本文系凯哥Java(www.kaigejava.com)原创,未经允许,禁止转载!

回顾:

在上一篇《框架学习系列 mybatis 第十四篇 mybatis动态sql及常用标签二》中我们知道什么是动态sql,也学会了常用的标签:where、if、set标签的使用。那么在本篇中,我们将继续学习剩下的标签

一:动态sql使用(trim标签、sql片段的使用)

1.1:trim标签

trim标签干嘛用?

trim标签是一个格式的标记(说的啥啊?不懂),

换句话来说:主要就是在自己包含的前面可以加些某些前缀,或者是在自己的后面加上某些后缀(依然一脸蒙比中~)

简单理解:trim标签有点类似于string类型中的replace的效果(或者可以理解为这货可以实现where和set同样的效果)

trim的属性有:

prefix:前缀覆盖并增加对应内容

suffix:后缀覆盖并追加其内容

prefixOverrides:前缀判断的条件

suffixOverrides:后缀判断的条件

1.2:使用案例

需求:同样查询条件有用户名、性别,查询对应的用户集合。

各位看官,咱先上大图

在Mapper-User.xml中:

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

说明:

<trim>:声明开始使用trim标签

</trim>:trim标签结束

prefix:前缀。也就是在之前添加追加什么

prefixOverides:前缀添加的判断条件。

concat:这个是mysql的连接函数,可以理解为加号在java中字符串连接的作用

上面sql语句其实就等同于上节课(《框架学习系列 mybatis 第十四篇 mybatis动态sql及常用标签一》)

中讲解的where if 标签的使用。

where if标签使用如下:

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

trim if 相当于where if 标签使用测试类:

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

执行的结果:

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

1.3:trim if相当于 set if 的使用(各位看官,自己可以练习练习)

1.4:sql片段的使用

1.4.1:sql片段是什么?使用sql片段有什么好处?

sql片段,就是预先定义后的一些sql语句。等其他sql需要的时候直接拿来用。

sql片段可以提高代码的可重用性

1.4.2:sql片段的使用

1.4.2.1:定义sql片段

在上面查询语句中我们可以将if 标签的sql语句提取出来。

在Mapper-User.xml中:

先定义sql片段

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

说明:

sql:声明sql片段开始

id:该sql片段唯一标识符。在当前的xml中是唯一的。

注:因为sql片段是公共的,所以最好不要将关键字带入。

比如:最好不要讲where、select等关键字声明在内

使用sql片段:

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

说明:

include:指明开始引用外部的

refid:注入需要引用的id.这个id必须是已经存在(已经声明的)

测试类:

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

运行结果:

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二

同样是查询到两条数据。说明执行没问题。

二:总结

通过本文学习,我们必须掌握的

1:sql片段的使用。这个在以后公司开发中也常用

了解的:

1:trime if 标签可以替换 where if或者是set if 不过一般很少使用

下节预告:

在下节课中,我们将学习到另外很有用的标签:foreach标签。这个标签可以处理list循环。同时我们还会讲解mybaits和hibernate的区别。欢迎大家学习下一篇《框架学习系列 mybatis 第十五篇 mybatis 常用标签三及与hibernate的比较》

内容概要:本文档详细介绍了基于Python的在线手电子产品回收系统的设计与实现。项目旨在通过构建一个可靠、安全、透明的平台,提高废旧电子产品的回收率,推动资源的合理再利用,提供安全可靠的交易平台,加强环保意识,促进手市场的发展,并实现数据驱动的智能化服务。项目面临的主要挑战包括废旧电子产品的检测与评估、信息不对称与交易风险、市场需求的预测与定价、用户体验优化及平台的安全性与数据保护。解决方案涵盖智能化评估与回收定价、高效的手产品处理流程、完善的售后保障体系、创新的市场需求分析、全程透明化与安全性保障以及定制化用户体验。系统采用微服务架构,包括用户管理、商品评估、交易管理、数据分析、支付与结算等模块。项目还涉及前端界面设计、API接口开发、数据库设计与实现、模型训练与优化、部署与应用等方面。 适合人群:具备一定编程基础,特别是对Python和Web开发有一定了解的研发人员,以及对手电子产品回收和环保事业感兴趣的从业者。 使用场景及目标:①帮助用户方便地将闲置电子产品回收、交易或再利用,提高废旧电子产品的回收率;②通过智能化的数据分析为用户提供价格评估、市场需求分析等服务,提高回收效率;③提供安全可靠的交易平台,确保交易的公平性和安全性;④推动手市场的健康发展,为消费者提供经济实惠的产品选择;⑤增强公众的环保意识,推动社会向绿色、低碳方向发展。 其他说明:本文档不仅提供了系统的功能模块设计、数据库表结构、API接口规范,还展示了具体代码实现和GUI界面设计,为开发者提供了全面的技术参考。此外,项目强调了数据安全和隐私保护的重要性,确保平台在运行过程中能够有效保护用户信息。项目未来改进方向包括增强模型的精准度、拓展国际市场、提供更多支付和融资选项、跨平台数据集成与分析、更加智能的回收流程以及强化社交化与社区功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值