【问题标题】:one-to-many insert with iBATIS使用 iBATIS 进行一对多插入
【发布时间】:2011-10-12 05:43:57
【问题描述】:

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

但我不知道该怎么做,我已经阅读了 iBATIS 文档,但是对于 INSERT 语句来说这太简短了,我可以将数据从 Words 和 Topics 获取到 Word 类型,但不是。

非常感谢!!

附:你能推荐更多的 iBATIS 文档吗?

【问题讨论】:

    标签: spring insert ibatis


    【解决方案1】:

    您可以在第一个表惰性查询中使用 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>
    

    【讨论】:

    猜你喜欢
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    • 2011-05-08
    相关资源
    最近更新 更多