2.MyBatis的增删改查操作

本文详细介绍了如何使用MyBatis进行用户添加、修改和删除操作,包括Controller的处理代码、Mapper接口及XML文件的具体编写,以及如何获取自增ID和执行SQL更新与删除。
摘要由CSDN通过智能技术生成

 一、 添加操作

我们来实现⼀下⽤户的增加、删除和修改的操作,对应使⽤ MyBatis 的标签如下:

标签:插入语句

标签:修改语句

标签:删除语句

具体实现如下:

1.1 增加用户操作:

controller 实现代码:

@RequestMapping(value = "/add",method = RequestMethod.POST)
public Integer add(@RequestBody User user){
return userService.getAdd(user);
}
  • 使用 @RequestMapping   注解来定义请求的路径和方法
  • 使用 @RequestBody  注解来将请求体中的 JSON 数据绑定到 User 对象上。
  • 调用 userService  中的getAdd()方法来处理新增用户的逻辑并返回结果

mapper interface实现代码:

Integer add(@Param("user") User user);

mapper.xml:

<insert id="add" parameterType="com.example.User">
insert into userinfo(username,password,photo,state)
values(#{username},#{password},#{photo},1);
</insert>

默认情况返回的是受影响的行号,如果想要返回自增id,具体实现如下:

controller实现代码:

@RequestMapping(value = "/add2", method = RequestMethod.POST)
public Integer add2(@RequestBody User user) {
userService.getAdd2(user);
return user.getId();}

mapper 接口:

@Mapper
public interface UserMapper{
    //添加 ,返回自增id
    void add2(User user);
}

mapper.xml的实现如下:

<!--
 返回⾃增id -->
<insert id="add2" useGeneratedKeys="true" keyProperty="id">
insert into userinfo(username,password,photo,state)
values(#{username},#{password},#{photo},1)
</insert>

解释一下:

useGeneratedKeys:

会令MyBatis使用JDBCgetGeneratedKeys方法来取出由数据库内部生成的主键,

默认值:false

keyColumn:

设置生成键值在表中的列名,当主键不是表中第一列的时候,必须要设置,如果生成列不止一个,可以用逗号分隔多个属性名称。

keyProperty:

指定能唯一识别对象的属性,MyBatis会使用getGeneratedKeys 的返回值或insert语句的selectKey 子元素设置它的值,如果生成列不止一个,可以用逗号分隔多个属性名称。

默认值:unset

二、 修改用户操作

controller:

//修改操作
@RequestMapping("/update")
public Integer update(Integer id,String name){
    return userService.update(id,name);
}

mapper.xml 实现代码:

<update id="update">
    update userinfo set username=#{name} where id=#{id}
</update
>

mapper interface接口:

@Mapper
public interface UserMapper{
    //修改
      int update(Userinfo userinfo);
}

三、 MyBatis删除操作

mapper interface 接口代码:

int delete(@Param("id")Integer id);

mapper.xml 实现代码:

<delete id="delById" parameterType="java.lang.Integer">
    delete from userinfo where id=#{id}
 </delete>

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值