多表关联时,新增数据要考虑的问题。

<insert id="addCustomer" parameterType="com.pd.gch.moudles.customer.model.Customer" useGeneratedKeys="true" keyProperty="id">
    <!--<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">-->
      <!--SELECT LAST_INSERT_ID() AS id-->
    <!--</selectKey>-->

 

Customer,Organization, RefOrganizationCustomer三张表。ID都是自增。(mysql数据库)

 

有多张表有关联关系时,新增关系表RefOrganizationCustomer的数据时,如何获取Customer和Organiaztion的ID!!!

mybatis的<insert>时,加上useGeneratedKeys属性,设为true,KeyProperty的值对应的是customer表对应的customer实体类的主键ID,假如名字叫A,

那么这里的值就为A。

 

执行完<insert>后,新增的customer表的ID就被赋值到它对应的customer实体类里了。这个时候customer.getId()获取到的就是新增后的ID值了。

 

上面的<selectKey>是Oracle的用法。

 

 

 

转载于:https://www.cnblogs.com/bboymonk/p/6411131.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如我之前所述,当使用Spearman相关系数计算两列变量之间的相关性,如果其中一列的所有值都相同,那么该列的秩次将全部相同,从而导致Spearman相关系数无法计算,从而出现NaN的结果。 为了解决这个问题,您可以考虑在计算Spearman相关系数之前,先对其中一列进行一些变换或者添加一些噪声,以增加数据的变异性,从而避免出现NaN的结果。另外,您也可以尝试使用其他相关系数,如Pearson相关系数,来计算数据的相关性,因为Pearson相关系数不受数据秩次的影响,可以处理出现NaN的情况。 以下是一个示例代码,演示如何解决出现NaN的情况: ```python import pandas as pd import numpy as np from scipy.stats import spearmanr # 创建一个DataFrame,其中一列的所有值都相同 df = pd.DataFrame({'A': [1, 1, 1, 1, 1], 'B': [2, 4, 6, 8, 10]}) # 在DataFrame中添加一些噪声,以增加数据的变异性 df['A'] = df['A'] + 0.01 * np.random.randn(len(df)) # 计算Spearman相关系数 corr, pval = spearmanr(df['A'], df['B']) # 打印结果 print('Spearman correlation: {:.3f}'.format(corr)) ``` 在这个示例中,我们首先创建了一个DataFrame,其中一列的所有值都相同。然后,我们向该列添加了一些噪声,以增加数据的变异性。最后,我们使用`spearmanr`函数计算了'A'列和'B'列之间的Spearman相关系数,并打印了结果。由于我们添加了噪声,因此我们得到了一个非NaN的结果。 希望这个示例能够帮助您解决问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值