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属性指定
相关文章
|
6月前
|
缓存 Java 数据库连接
Mybatis
Mybatis
38 0
|
3月前
|
SQL Java 数据库连接
Mybatis01
Mybatis01
33 0
|
SQL Java 数据库连接
Mybatis之discriminator(鉴别器)详解
前言 最近干了一个工作是使用discriminator去写一个新的API,那么写这个新的API原因是什么呢?原因是这样的:我们的项目使用Mybatis,我们项目中有一个实体类叫做User,在User中还含有很多别的实体类,例如Role,Permission,Address等(有经验的肯定知道这种嵌套实体类的情况,使用和)。
4138 0
|
6月前
|
Java 关系型数据库 数据库连接
Mybatis-plus
Mybatis-plus
|
4月前
|
SQL Java 数据库连接
Mybatis(一)
Mybatis(一)
37 0
|
6月前
|
SQL Java 数据库连接
从0开始回顾Mybatis
Mybatis 1、什么是Mybatis? 概念: 1. Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。 2. MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 缺点: 1. SQL语句的编写工作量较大,尤其当字段多、关联表多时,对开发人员编写SQL语句的功底有一定要求
|
SQL Java 数据库连接
|
SQL Java 数据库连接
MyBatis(下)
MyBatis(下)
|
Java 数据库连接 mybatis
Mybatis小技巧
Mybatis小技巧
67 0
|
SQL 安全 Java
Mybatis(二)
Mybatis(二)
149 0
Mybatis(二)