6、MyBatis的几种特殊操作

6、MyBatis的几种特殊操作

6.1、模糊查询

接口函数:

List<User> selectUserBlur(@Param("username") String username);

对应的映射文件:(注意这里获取参数用${},如果用#{}则会产生多余的'',从而出错。)

<!--    List<User> selectUserBlur();-->
<select id="selectUserBlur" resultType="User">
    select * from t_user where name like '%${username}%'
</select>

查询语句:

List<User> users = userMapper.selectUserBlur("李");

运行结果:

在这里插入图片描述

6.2、批量删除

接口函数:

Integer deleteMore(@Param("id") String id);

对应的映射文件:(注意这里获取参数用${})

<!--    Integer deleteMore(@Param("id") Integer id);-->
    <delete id="deleteMore" >
        delete from t_user where id in (${id})
    </delete>

删除语句:

Integer result = userMapper.deleteMore("11,12,13");

运行结果:

在这里插入图片描述

6.3、获取自动增加的主键

先说应用场景:

在这里插入图片描述

也就是说,班级建立的同时,要获取id(因为id不是自己输入的,所以事先未知),然后在分配学生(将班级id插入对应的学生记录中)。

接口函数:

void insertUserGetId(User user);

对应的映射文件:

<!--        void insertUserGetId(User user);-->
<insert id="insertUserGetId" useGeneratedKeys="true" keyProperty="id">
    insert into t_user (id, name, sex, email, address)
    values (null, #{name}, #{sex}, #{email}, #{address})
</insert>

useGeneratedKeys=“true” 打开获取主键功能

keyProperty=“id” 将获取到的主键赋值给id

新增语句:

User user = new User(null, "辛弃疾", "男", "12345678@qq.com", "南宋");
System.out.println("添加前--->"+user);
userMapper.insertUserGetId(user);
System.out.println("添加后--->"+user);

运行结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值