IDEA中 MyBatis实现动态SQL(一)

标签<if>、choose(when,otherwise)、<where>、<trim>案例

一、首先进行MyBatis环境搭建

1.创建project工程

2.创建数据表 t_customer

 3.在pom.xml中引入依赖

4.引入资源(框架配置文件)

4.1mybatis核心配置文件mybatis-config.xml

4.2创建mybatis的核心配置文件所使用的db.properties文件

4.3创建log4j.xml文件

 5.用户配置文件

5.1创建实体类 pojo

5.2创建接口类 mapper

5.3创建工具类 util

5.4用户配置文件 在resources下创建com/biem/mapper文件夹并创建xxxMapper.xml

二、<if>标签(条件判断)

if标签语法结构

<if test="判断条件">
    SQL语句
</if>

if标签实施案例

1.在接口类com.biem.mapper.CustomerMapper.class中添加方法

2.在映射文件com/biem/mapper/CustomerMapper.xml中添加sql语句

 3.功能测试

 在src/test/java中创建测试类com.biem.test.TestCustomer.java,内容如下

4.运行结果

三、<choose>、<when>、<otherwise>标签

语法结构

<choose>
    <when test="判断条件1">
        SQL语句1
    </when >
    <when test="判断条件2">
        SQL语句2
    </when >
    <when test="判断条件3">
        SQL语句3
    </when >
    <otherwise>
        SQL语句4
    </otherwise>
</choose>

choose-when-otherwise标签案例

1.在接口类com.biem.mapper.CustomerMapper.class中添加方法

2.在映射文件com/biem/mapper/CustomerMapper.xml中添加sql语句

3.功能测试

在src/test/java中创建测试类com.biem.test.TestCustomer.java,内容如下

4.运行结果

 四、<where>标签(条件判断)

语法结构

<where>
    <if test="判断条件">
        AND/OR ...
    </if>
</where>

<where>案例

1.在接口类com.biem.mapper.CustomerMapper.class中添加方法

2.在映射文件com/biem/mapper/CustomerMapper.xml中添加sql语句

3.功能测试

在src/test/java中创建测试类com.biem.test.TestCustomer.java,内容如下

4.运行结果

 五、<trim>标签(去除多余关键字)

语法结构

trim标签有四个属性:prefix,prefixOverrides,suffix,suffixOverrides

prefix    给sql语句拼接的前缀
suffix给sql语句拼接的后缀
prefixOverrides 去除sql语句前面的关键字或者字符,该关键字或者字符由属性指定,假设该属性指定为"AND",当sql语句的开头为"AND",trim标签将会去除该"AND"
prefixOverridessuffixOverrides    去除sql语句后面的关键字或者字符,该关键字或者字符由suffixOverrides属性指定

trim 一般用于去除 SQL 语句中多余的 AND 关键字、逗号,或者给 SQL 语句前拼接 where、set 等后缀,可用于选择性插入、更新、删除或者条件查询等操作。trim 语法格式如下。

<trim prefix="前缀" suffix="后缀" prefixOverrides="忽略前缀字符" suffixOverrides="忽略后缀字符">
    SQL语句
</trim>

<trim>案例

1.在接口类com.biem.mapper.CustomerMapper.class中添加方法

2.在映射文件com/biem/mapper/CustomerMapper.xml中添加sql语句

3.功能测试

在src/test/java中创建测试类com.biem.test.TestCustomer.java,内容如下

4.运行结果

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值