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

MyBatis:配置文件完成增删改查_添加

1 实现添加操作

  1. 编写接口方法:Mapper接口

在这里插入图片描述

  1. 编写sql语句:sql映射文件
   <insert id="add">insert into tb_brand(brand_name,company_name,ordered,description,status)values(#{brandName},#{companyName},#{ordered},#{description},#{status});</insert>

在这里插入图片描述

  1. 执行方法,测试

MyBatis事务:

  • openSession():默认开启事务,进行增删改操作后需要使用sqlSession.commit();手动提交事务
  • openSession(true):设置为自动提交事务(关闭事务)
  @Testpublic void testAdd() throws Exception{int status = 1;String brandName = "波导";String companyName = "波导手机";String description = "手机中的战斗机";int ordered = 100;Brand brand = new Brand();brand.setStatus(status);brand.setBrandName(brandName);brand.setCompanyName(brandName);brand.setDescription(description);brand.setOrdered(ordered);// 加载mybatis的核心配置文件,获取SqlSessionFactoryString resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 获取SqlSession对象,用它来执行sqlSqlSession sqlSession = sqlSessionFactory.openSession();// 获取UserMapper接口的代理对象BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);brandMapper.add(brand);sqlSession.commit();sqlSession.close();}

在这里插入图片描述
在这里插入图片描述

2 主键返回

在数据添加成功后,需要获取插入数据库数据的主键的值

比如:添加订单和订单项

  1. 添加订单
  2. 添加订单项,订单项中需要设置所属订单的id

在这里插入图片描述
在这里插入图片描述

解决:

    <insert id="add" useGeneratedKeys="true" keyProperty="id">insert into tb_brand(brand_name,company_name,ordered,description,status)values(#{brandName},#{companyName},#{ordered},#{description},#{status});</insert>

在这里插入图片描述
在这里插入图片描述

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

相关文章:

  • 智慧后厨检测算法构建智能厨房防护网
  • 零基础入门:用按键精灵实现视频自动操作(附完整脚本)
  • C语言:数组
  • MySQL的关键日志
  • 洛谷 P1395 会议
  • Logback 配置的利器:深入理解<property>与<variable>
  • 教育行业网络升级最佳实践:SD-WAN、传统方案与混合方案对比分析
  • Android sdk 升级 34到35
  • SpringBoot中解决SpringApplication入口和其他Bean不在同属目录下的问题。
  • 暑期自学嵌入式——Day05补充(C语言阶段)
  • STM32+w5500+TcpClient学习笔记
  • 前端基础之《Vue(23)—跨域问题》
  • Effective Modern C++ 条款14:如果函数不抛出异常请使用noexcept
  • 如何将本地Git仓库推送到远程仓库的一个文件中并保留Commit记录
  • 对于编码电机-520直流减速电机
  • 硬核电子工程:从硅片到系统的全栈实战指南—— 融合电路理论、嵌入式开发与PCB设计的工程艺术
  • 正则表达式完全指南:从入门到实战
  • Web3加密货币交易:您需要知道的所有信息
  • 五分钟掌握 TDengine 数据文件的工作原理
  • 《设计模式之禅》笔记摘录 - 8.命令模式
  • 【Mediatek】AN7563搭建编译环境操作说明
  • 1 初识C++
  • 【java 安全】 IO流
  • 20250718-3-Kubernetes 应用程序生命周期管理-Pod对象:存在意义_笔记
  • Android性能优化之包体积优化
  • C++算法竞赛篇:DevC++ 如何进行debug调试
  • Django 实战:I18N 国际化与本地化配置、翻译与切换一步到位
  • 第7天 | openGauss中一个数据库中可以创建多个模式
  • 51c视觉~合集13
  • 互联网医疗健康服务包的核心内容架构与模块组合