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属性指定
相关文章
|
9月前
|
SQL Java 数据库连接
|
9月前
|
SQL Java 数据库连接
|
SQL 算法 Java
Mybatis-plus超详细讲解(2022)
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。
2283 1
|
1月前
|
Java 数据库连接 数据库
mybatis的@MappedTypes
mybatis的@MappedTypes
70 1
|
1月前
|
SQL Java 数据库连接
MyBatis-Plus详细介绍
MyBatis-Plus是基于MyBatis框架的增强工具,致力于简化MyBatis的开发。它提供了一系列的增强功能,包括代码生成器、分页查询、性能分析等,大大提高了开发效率。
21 0
|
1月前
|
SQL 缓存 Java
mybatis使用总结
mybatis使用总结
|
9月前
|
SQL Java 数据库连接
|
Java 数据库连接 mybatis
Mybatis小技巧
Mybatis小技巧
49 0
|
算法 Java 关系型数据库
MyBatis-Plus基本的使用
MyBatis-Plus基本的使用
|
SQL Oracle Java