MyBatis(上)

简介: MyBatis(上)

什么是MyBatis


MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射、SQL 是 MyBatis 的强大特性之一。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。


动态SQL:


什么是动态SQL,使用传统的组合拼接SQL,稍微不注意就会多出空格,导致报错,Mybatis的动态SQL功能正是为了解决这种问题,通过if,choose,when, otherwise,trim,where, set,foreach标签组合SQL语句

标签

说明
if 条件判断,java相似
choose

条件判断,是一个组合使用标签,需要搭配when、otherwise标签使用,类似java中的switch语句

trim 动态添加前后缀,智能互联前后缀多余的关键字
where 简化SQL语句中where关键字,智能处理and|or等关键字
set 简化SQL语句中set关键字,智能处理尾部多余的逗号
foreach 以遍历方式处理集合类型参数


if标签


if标签是MyBatis框架动态SQL常用且重要的标签之一,它的功能和java中的if判断相似

 //if标签
 <if test="判断条件,返回true或者false">
     SQL语句
 </if>


choose标签


choose标签是一个组合标签,通常和when和otherwise一起使用,功能和java中的if…else语句类似

<select id="getlist" resultType="com.xinxi2.bean.TSysUser">
        SELECT * FROM `t_sys_user` 
        <where>
            <choose>
                <when test="realname!=null and realname!='' ">
                    and realname=#{realname}
                </when>
                <when test="password!=null and password!='' ">
                    and password=#{password}
                </when>
                <otherwise>
                    and acccunt is not null
                </otherwise>
            </choose>
        </where>
    </select>

trim标签


通过trim元素自定义where 元素的功能和set元素的功能,并可以智能地忽略标签前后多余的and、or或逗号等字符


prefix 给sql语句拼接的前缀
suffix 给sql语句拼接的后缀
prefixOverrides 去除sql语句前面的关键字,该关键字由prefixOverrides属性指定,假设该属性指定为“AND|OR”,当sql语句的开头为“AND或者OR”,trim标签会去除“AND或者OR”
suffixOverrides 去除sql语句后面的字符, 该字符由suffixOverrides属性指定
相关文章
|
Android开发 开发者
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
430 1
|
Java 调度 C++
ANR分析总结
ANR分析总结
1497 0
ANR分析总结
|
6月前
|
存储 数据安全/隐私保护 开发者
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
224 8
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
|
网络性能优化 网络虚拟化 数据安全/隐私保护
|
10月前
|
运维 监控 应用服务中间件
自动化运维的利器:Ansible实战应用
【10月更文挑战第41天】在现代IT运维领域,自动化已成为提高效率、减少错误的关键。Ansible作为一种简单而强大的自动化工具,正被越来越多的企业采纳。本文将通过实际案例,展示如何使用Ansible简化日常运维任务,包括配置管理和批量部署等,旨在为读者提供一种清晰、易懂的自动化解决方案。
164 1
|
缓存 监控 Java
"Java垃圾回收太耗时?阿里HBase GC优化秘籍大公开,让你的应用性能飙升90%!"
【8月更文挑战第17天】阿里巴巴在HBase实践中成功将Java垃圾回收(GC)时间降低90%。通过选用G1垃圾回收器、精细调整JVM参数(如设置堆大小、目标停顿时间等)、优化代码减少内存分配(如使用对象池和缓存),并利用监控工具分析GC行为,有效缓解了高并发大数据场景下的性能瓶颈,极大提升了系统运行效率。
371 4
|
12月前
|
Python
音乐播放 pygame mp3play 和获取音乐信息的 库from mutagen.mp3 import MP3
音乐播放 pygame mp3play 和获取音乐信息的 库from mutagen.mp3 import MP3
|
存储 关系型数据库 Java
极速体验DolphinScheduler 3.2.1 Standalone 版[一]
极速体验DolphinScheduler 3.2.1 Standalone 版[一]
151 0
|
SQL 存储 前端开发
【java】树形结构分页(真分页)
【java】树形结构分页(真分页)
330 1
|
人工智能 供应链 算法
SWOT分析法:知彼知己的战略规划工具
SWOT分析法是一种用于评估组织、项目、个人或任何其他事物的战略规划工具。SWOT是Strengths(优势)、Weaknesses(劣势)、Opportunities(机会)和Threats(威胁)的缩写。通过分析这四个方面,SWOT分析法可以帮助决策者了解当前情况,并为未来的行动制定策略。
732 0
SWOT分析法:知彼知己的战略规划工具

热门文章

最新文章