mybatis更新数据 set加if_MyBatis动态sql之trim、where、set标签

本节主要讲解 MyBatis 动态 Sql 的 trim、where、set 标签。

元素

元素的主要功能是可以在自己包含的内容前加上某些前缀,也可以在其后加上某些后缀,与之对应的属性是 prefix 和 suffix。

可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是 prefixOverrides 和 suffixOverrides。正因为 元素有这样的功能,所以也可以非常简单地利用 来代替 元素的功能。

在 myBatisDemo03 应用中测试 元素,具体过程如下:

1)添加 SQL 映射语句

在 com.mybatis 包的 UserMapper.xml 文件中添加如下 SQL 映射语句:

select * from user

and uname like concat('%',#{uname},'%')

and usex=#{usex}

2)添加数据操作接口方法

在 com.dao 包的 UserDao 接口中添加如下数据操作接口方法:

public List selectUserByTrim(MyUser user);

3)调用数据操作接口方法

在 com.controller 包的 UserController 类中添加如下程序调用数据操作接口方法。

// 使用trim元素查询用户信息

MyUser trimmu=new MyUser();

trimmu.setUname ("张");

trimmu.setUsex("男");

List listByTrim=userDao.selectUserByTrim(trimmu);

System.out.println ("trim 元素=========================");

for (MyUser myUser:listByTrim) {

System.out.println(myUser);

}

4)测试动态 SQL 语句

运行 com.controller 包中的 TestController 主类,测试动态 SQL 语句。

元素

元素的作用是会在写入 元素的地方输出一个 where 语句,另外一个好处是不需要考虑 元素里面的条件输出是什么样子的,MyBatis 将智能处理。如果所有的条件都不满足,那么 MyBatis 就会查出所有的记录,如果输出后是以 and 开头的,MyBatis 会把第一个 and 忽略。

当然如果是以 or 开头的,MyBatis 也会把它忽略;此外,在 元素中不需要考虑空格的问题,MyBatis 将智能加上。

在 myBatisDemo03 应用中测试 元素,具体过程如下:

1)添加 SQL 映射语句

在 com.mybatis 包的 UserMapper.xml 文件中添加如下 SQL 映射语句:

select * from user

and uname like concat('%',#{uname},'%')

and usex=#{usex}

2)添加数据操作接口方法

在 com.dao 包的 UserDao 接口中添加如下数据操作接口方法:

public List selectUserByWhere(MyUser user);

3)调用数据操作接口方法

在 com.controller 包的 UserController 类中添加如下程序调用数据操作接口方法。

// 使用where元素查询用户信息

MyUser wheremu=new MyUser();

wheremu.setUname ("张");

wheremu.setUsex("男");

List listByWhere=userDao.selectUserByWhere(wheremu);

System.out.println ("where 元素=========================");

for (MyUser myUser:listByWhere) {

System.out.println(myUser);

}

4)测试动态 SQL 语句

运行 com.controller 包中的 TestController 主类,测试动态 SQL 语句。

元素

在动态 update 语句中可以使用 元素动态更新列。在 myBatisDemo03 应用中测试 元素,具体过程如下:

1)添加 SQL 映射语句

在 com.mybatis 包的 UserMapper.xml 文件中添加如下 SQL 映射语句:

update user

uname=#{uname}

usex=#{usex}

where uid=#{uid}

2)添加数据操作接口方法

在 com.dao 包的 UserDao 接口中添加如下数据操作接口方法:

public int updateUserBySet(MyUser user);

3)调用数据操作接口方法

在 com.controller 包的 UserController 类中添加如下程序调用数据操作接口方法。

// 使用set元素查询用户信息

MyUser setmu=new MyUser();

setmu.setUid (1);

setmu.setUname("张九");

int setup=userDao.updateUserBySet(setmu);

System.out.println ("set 元素修改了"+setup+"条记录");

System.out.println ("=========================")

4)测试动态 SQL 语句

运行 com.controller 包中的 TestController 主类,测试动态 SQL 语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值