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

手机网站建设制作教程wordpress二维码插件付费

手机网站建设制作教程,wordpress二维码插件付费,望野原文翻译,好多职业培训网站是怎么做的在 MyBatis 中,执行 insert 操作时,​Mapper 接口的 insert 方法本身不会直接返回一个包含数据库生成字段的 POJO 对象。其默认返回值是受影响的数据库行数(通常是 int 或 Integer)。以下是具体分析和解决方案:1. ​默…

在 MyBatis 中,执行 insert 操作时,​Mapper 接口的 insert 方法本身不会直接返回一个包含数据库生成字段的 POJO 对象。其默认返回值是受影响的数据库行数(通常是 intInteger)。以下是具体分析和解决方案:


1. ​默认行为

  • 返回值类型​:insert 方法返回的是受影响的行数(整数),​不是插入后的 POJO 对象
  • POJO 状态​:执行插入后,如果数据库生成了自增 ID 或其他字段(如创建时间),​POJO 对象中对应的属性值不会自动更新​(除非显式配置)。

2. ​如何获取数据库生成的字段值?​

通过配置 ​**useGeneratedKeys​ 和 ​keyProperty**,可以让 MyBatis 将数据库生成的值(如自增 ID)回填到 POJO 对象的属性中:

配置示例(XML 方式):
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">INSERT INTO user(name, email) VALUES(#{name}, #{email})
</insert>
配置说明:
  • ​**useGeneratedKeys="true"**​:启用数据库自动生成主键功能。
  • ​**keyProperty="id"**​:将生成的值回填到 POJO 的 id 属性中。
  • 支持同时回填多个字段(如 Oracle 序列),需结合 <selectKey> 子标签。

3. ​执行后的效果

  • 返回值​:仍然是整数(如 1,表示成功插入一行)。
  • POJO 对象更新​:数据库生成的值(如 id)会自动注入到 ​传入的 POJO 对象​ 中,可通过原对象访问:
    User user = new User("Alice", "alice@example.com");
    int rows = userMapper.insertUser(user); // 返回行数
    System.out.println("生成的主键ID: " + user.getId()); // 直接访问更新后的属性

4. ​注解配置方式

使用 @Options 注解实现相同效果:

@Insert("INSERT INTO user(name, email) VALUES(#{name}, #{email})")
@Options(useGeneratedKeys = true, keyProperty = "id")
int insertUser(User user); // 执行后 user.getId() 获取主键

5. ​特殊场景:非自增主键(如 Oracle)​

使用 <selectKey> 提前查询序列值:

<insert id="insertUser" parameterType="User"><selectKey order="BEFORE" keyProperty="id" resultType="long">SELECT user_seq.nextval FROM dual</selectKey>INSERT INTO user(id, name, email) VALUES(#{id}, #{name}, #{email})
</insert>

总结

行为是否支持说明
insert 方法直接返回 POJO❌ 否返回值类型是整数(受影响行数)。
获取数据库生成的主键✅ 是通过 useGeneratedKeys + keyProperty 将值注入到 ​传入的 POJO 对象属性​ 中。
获取其他生成字段(如时间戳)✅ 是通过 <selectKey> 或数据库触发器实现回填(需结合触发器逻辑)。

结论​:插入后需访问 ​原 POJO 对象​ 的属性获取生成值,而非通过方法返回值。

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

相关文章:

  • 静态网站开发百科做58类网站需要多少钱
  • 【Ubuntu】清理空间的几种方法
  • 做网站必须有云虚拟主机公司画册
  • 网安面试题收集(1)
  • 深入理解操作系统:从管理思想到进程本质(7000字深入剖析,通俗易懂)
  • 基于汇编实现led点灯-51单片机-stc89c52rc
  • wordpress站点地址灰显视频教学网站开发需求分析
  • Docker进行达梦数据库部署
  • 怎么做才能发布网站洛克设计平台
  • 建网站一般最低多少钱永久免费域名注册网站
  • 室内设计师上网第一站ctoc的网站有哪些
  • 2025 年 AI + 编程工具实战:用新工具提升 50% 开发效率
  • TCP拥塞控制
  • 数集探秘:“有理“谜题的巧妙拆解与证明
  • 网站购物车功能关于珠海网站建设的优势
  • 【深度学习|学习笔记】从机器学习范式看神经网络能解决什么?(一)
  • 辽宁网站定制企业创业平台
  • UNIX下C语言编程与实践38-UNIX 信号操作:signal 函数与信号捕获函数的编写
  • dede 分类信息网站 模板wordpress怎么装插件
  • 分布式系统实战:电商平台架构演进
  • 基于YOLOv8+CNN的智能停车场车牌识别系统(视频图片均可)(完整实现,附完整可直接运行代码)
  • @ComponentScan组件扫描原理
  • 沈阳制作网站的公司网站开发要什么
  • MySQL 8.0存储引擎选型指南
  • 做移动端网站设计网站怎样制作
  • redis的哨兵机制简单问题
  • 打造自己的中秋 AR 赏月应用:实现虚实融合的节日体验
  • 建设网站学什么建设考试的报名网站
  • 色块网站设计在家做的网站编辑
  • WebRTC 入门与实战(二)之中级篇