当前位置: 首页 > news >正文

Mybatis的添加和修改功能

MyBatis 添加功能

使用 MyBatis 实现添加功能通常涉及以下几个步骤:

定义插入操作的 SQL 语句,可以在 Mapper XML 文件中编写 insert 语句或者在接口中使用注解方式:

XML 方式示例:

<insert id="insertUser" parameterType="com.example.User">INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>

接口注解方式示例:

@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
int insertUser(User user);

在 Service 层调用 Mapper 方法:

User user = new User();
user.setName("张三");
user.setAge(25);
userMapper.insertUser(user);

如果需要获取自增主键,可以配置 useGeneratedKeys:

<insert id="insertUser" parameterType="com.example.User" useGeneratedKeys="true" keyProperty="id">INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>

MyBatis 修改功能

修改功能与添加类似,需要使用 update 语句:

XML 方式示例:

<update id="updateUser" parameterType="com.example.User">UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
</update>

接口注解方式示例:

@Update("UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}")
int updateUser(User user);

Service 层调用示例:

User user = userMapper.getUserById(1);
user.setName("李四");
user.setAge(30);
userMapper.updateUser(user);

动态更新可以使用 set 标签:

<update id="updateUser" parameterType="com.example.User">UPDATE user<set><if test="name != null">name=#{name},</if><if test="age != null">age=#{age},</if></set>WHERE id=#{id}
</update>

批量操作可以使用 foreach 标签:

<insert id="batchInsert" parameterType="java.util.List">INSERT INTO user(name, age) VALUES<foreach collection="list" item="item" separator=",">(#{item.name}, #{item.age})</foreach>
</insert>

总结:

MyBatis 的“添加(INSERT)”和“修改(UPDATE)”套路相同

  1. 写接口方法

  2. 写 XML(或注解)SQL

  3. 调用完必须提交事务sqlSession.commit()),否则数据不会真正进库。

http://www.dtcms.com/a/561194.html

相关文章:

  • Linux 安全文件传输完全指南:sftp 与 scp 的深度解析引言
  • Mysql基础3
  • 上海cms网站建设珠海网站建设 科速
  • 有没有可以做游戏的网站电商网课教材
  • 【自然语言处理】生成式语言模型GPT复现详细技术方案
  • Qt 打开文件列表选择文件,实现拖拽方式打开文件,拖拽加载
  • 网站搭建徐州百度网络搭建专做婚礼logo的网站
  • macOS 上获取调试版
  • 奉加微PHY6230软件三:自定义MAC和ll_set_ble_mac_addr不能屏蔽
  • 模型推理如何利用非前缀缓存
  • 网站建设方面的论文重庆网站制作工作室
  • 优化学校网站建设方案wordpress+免备案空间
  • Linux系统之----UDP、TCP详解
  • TcpConnection
  • 选对模型、搭好架构:企业如何构建高精准RAG知识库
  • 广东网站设计公司价格软件商城app下载
  • 建立网站买空间哪家好福州关键词快速排名
  • 河南省建设厅职称网站网站域名包括哪些
  • Typescript语言中通过get请求获取api.open-meteo.com网站的天气数据
  • 设计模式的介绍
  • 13.2.3.Tomcat
  • WordPress网站主题升级网站引导页的作用
  • 哪些网站建设公司好域名备案需要多久
  • [DeepOCR] OCR主模型调度 | VLLM深度集成 | 多模态融合
  • 衡阳网站优化公司网站设计用什么软件
  • “开源链动2+1模式AI智能名片S2B2C商城小程序”在拉群营销中的应用与效果
  • c语言开发网站后端共享备案网站
  • 若依 Ruoyi APP 按钮权限管理 checkPermi
  • 托管网站是什么意思深圳人社局官网
  • MAK产品调研