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

网站建设工具最简洁的专业的句容网站建设

网站建设工具最简洁的,专业的句容网站建设,自助建设网站,中国搜索引擎排行榜在 MyBatis 中,执行 INSERT 操作后​​默认返回的是影响的行数(通常是 1)​​,而不是插入的主键 ID。但可以通过以下配置获取新插入记录的 ID: 🛠 两种方式获取自增 ID: 1. ​​useGeneratedK…

在 MyBatis 中,执行 INSERT 操作后​​默认返回的是影响的行数(通常是 1)​​,而不是插入的主键 ID。但可以通过以下配置获取新插入记录的 ID:

🛠 两种方式获取自增 ID:

1. ​useGeneratedKeys + keyProperty(推荐)​

适用于支持自增主键的数据库(如 MySQL、SQL Server 等)。在 Mapper XML 中配置:

<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">INSERT INTO user (name, email)VALUES (#{name}, #{email})
</insert>
  • useGeneratedKeys="true"​:启用数据库自动生成的 ID。
  • keyProperty="id"​:将生成的 ID 赋值给参数对象的 id 属性。

调用示例:

User user = new User();
user.setName("John");
user.setEmail("john@example.com");
int rows = userMapper.insertUser(user); // rows 是受影响行数
Long generatedId = user.getId(); // 获取插入的 ID ✅
2. ​<selectKey>(适用于 Oracle 或复杂场景)​

对于 Oracle 或需要自定义查询 ID 的情况:

<insert id="insertUser"><selectKey keyProperty="id" resultType="long" order="AFTER">SELECT LAST_INSERT_ID() <!-- MySQL 获取最新 ID --><!-- Oracle: SELECT your_sequence.CURRVAL FROM dual --></selectKey>INSERT INTO user (name, email)VALUES (#{name}, #{email})
</insert>
  • order="AFTER":执行 INSERT 后再获取 ID(Oracle 可能需要 BEFORE)。

📝 关键点总结:

​特性​​说明​
​默认返回值​受影响行数(Integer),不是 ID!
​获取 ID 的方式​通过 keyProperty 将 ID 注入到参数对象中(如 user.getId()
​支持数据库​MySQL、SQL Server 等(useGeneratedKeys) / Oracle(<selectKey>
​注解配置​使用 @Options(useGeneratedKeys=true, keyProperty="id")

💡 示例(注解方式):

@Options(useGeneratedKeys = true, keyProperty = "id")
@Insert("INSERT INTO user(name, email) VALUES (#{name}, #{email})")
int insertUser(User user); // 执行后 user.id 即为新生成的 ID

⚠️ 注意:

  • 确保数据库表的主键是​​自增(AUTO_INCREMENT)​​ 或配置了序列。
  • keyProperty 的值必须与实体类中的属性名严格匹配(如 id 对应 user.id)。

通过正确配置,MyBatis 可以无缝地将新生成的 ID 注入到您的实体对象中,无需额外查询!🚀


文章转载自:

http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://00000000.qdmdp.cn
http://www.dtcms.com/wzjs/603415.html

相关文章:

  • 彩票资讯网站建设公司建设一个网站首页
  • dede网站禁止ip访问德州百度推广公司
  • 怎么做企业网站推广需要多少钱软件开发培训学校软件开发培训机构
  • 网站策划制作公司首都博物馆 网站建设
  • 郑州做网站公司汉狮价格上海房价2022年最新房价
  • 100个万能营销方案网站后台seo设置
  • 做旅游的网站99企业邮箱
  • 成华区建设局门户网站个人简历范本
  • 如何做英文网站链接网址怎么做
  • 一个人可以建设几个网站郑州文明网
  • 上海公司网站丽水建设网站
  • 网站建设 军报刚刚邯郸发生大事了
  • 淘宝网站开发多少金额做天猫网站多少钱
  • 旅游网站制作建设大丰做网站建设的公司
  • 做网站像素大小软文推广方法
  • 如何创建一个论坛网站上海市网站建设定制
  • 做网站公司名字应该用图片吗南平网站建设公司
  • 网站权重多少比较好专业制作视频的软件
  • 顺德做网站的公司个人淘宝客网站
  • 网站开发绪论emlog怎么换wordpress
  • 医院 网站建设图片类网站欣赏
  • 潍坊网站建设选聚搜网络wordpress模板 装修
  • 网站建设制作费wordpress 视频站模板下载失败
  • 旅游网站需求分析品牌推广费用预算
  • 网站搭建团队天津建设网站培训
  • 怎么样自己做一个网站爱站权重
  • 网站后台怎么更新html5做静态网站
  • 网站的内链怎么做建站之星做出的网站不安全
  • 为什么网站开发需要写php软件如何制作
  • 网站剪辑培训机构排名WordPress全功能高级投稿