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属性指定
相关文章
|
8月前
|
SQL Java 数据库连接
|
XML Java 数据库连接
|
Java 数据库连接 mybatis
|
8月前
|
SQL Java 数据库连接
|
3月前
|
SQL 缓存 Java
MyBatis系列
MyBatis系列
|
6月前
|
算法 Java 数据库连接
mybatis plus 主键策略
mybatis plus 主键策略
66 2
|
5月前
|
SQL Java 数据库连接
Mybatis02(一)
Mybatis02(一)
34 0
|
6月前
|
算法 Java 数据库连接
MyBatis-Plus详解(2)
MyBatis-Plus详解(2)
46 0
|
8月前
|
缓存 Java 数据库连接
MyBatis
MyBatis
|
SQL Java 数据库连接
14MyBatis - MyBatis介绍
14MyBatis - MyBatis介绍
47 0

热门文章

最新文章

下一篇
开通oss服务