使用 iBATIS 进行一对多插入

发布于 2024-12-06 00:04:01 字数 326 浏览 2 评论 0原文

我已经得到了带有属性 Topics 的 Word 类型,它是一个 List 对象。我的数据库中有两个表:单词和主题。我想在 Words 表中写入一个单词,并将每个主题及其相应的 idWord 存储在 Topics 中。对于单词的插入语句,我使用 generatedKey 和 keyProperty 来获取 mySQL 分配给该单词的 idWord。

但我不知道如何做到这一点,我已经阅读了 iBATIS 文档,但这对于 INSERT 语句来说太简短了,我可以从 Words 和 Topics 获取数据到 Word 类型,但不能代替。

多谢!!

PS 你能推荐更多 iBATIS 文档吗?

I have got the type Word with the property Topics which is a List object. I have two tables in the database: Words and Topics. I want write a word in Words table and store each topic with its corresponding idWord in Topics. For the insert statement of the word I use generatedKey and keyProperty to obtain the idWord that mySQL assign to the word.

But I don't know how to do this, I've read iBATIS documentation but this is too brief with INSERT statements, I could get data from Words and Topics to Word type with but not instead.

Thanks a lot!!

P.S. Could you suggest more iBATIS documentation??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心作怪 2024-12-13 00:04:01

您可以在第一个表惰性查询中使用 selectKey 标签;这将返回生成的标识列值。使用此 id 填充第二个表。

 <insert id="InsertLineItem" parameterClass="LineItem">
  INSERT INTO [LinesItem] 
  (Order_Id, LineItem_LineNum, Item_Id, LineItem_Quantity, LineItem_UnitPrice)
  VALUES
  (#Order.Id#, #LineNumber#, #Item.Id#, #Quantity#, #Item.ListPrice#)

  <selectKey resultClass="int" keyProperty="id" >
    SELECT @@IDENTITY AS ID
  </selectKey>
  </insert>

You can use selectKey tag inside your first table inert query; this will return identity column value that got generated. Use this id to populate the second table.

 <insert id="InsertLineItem" parameterClass="LineItem">
  INSERT INTO [LinesItem] 
  (Order_Id, LineItem_LineNum, Item_Id, LineItem_Quantity, LineItem_UnitPrice)
  VALUES
  (#Order.Id#, #LineNumber#, #Item.Id#, #Quantity#, #Item.ListPrice#)

  <selectKey resultClass="int" keyProperty="id" >
    SELECT @@IDENTITY AS ID
  </selectKey>
  </insert>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文