使用Spring JDBC模板检索自定义的自动生成的密钥

拉格夫·舒克拉

插入记录后,我需要使用spring jdbc模板检索自定义的自动生成的密钥。

insert into CREDIT(CREDITID,PROFILEID,CLIENTID,EVENTID,CREDIT_HEADING,CREDIT_DESCRIPTION,CREDIT_IMAGE,TESTIMONIAL,TESTIMONIAL_PROVIDER) values('CRE'||CREDITID_SEQ.nextVal,:profileId,:clientId,:eventId,:creditHeading,:creditDescription,:creditImage,:testimonial,:provider)

如果您看到我正在使用以“ CRE”为前缀的sequence.nextVal作为主键值。目的是拥有像CRE1,CRE2,CRE3 .... CREn这样的键。我希望使用spring jdbc模板来检索它。这是我编写的代码,但是会引发异常。

  public String insertCredit(final Credit credit) throws SQLException {


                final String insertQuery = dbUtil.getQuery("crms.credit.insert");
                SqlParameterSource creditParameters = new BeanPropertySqlParameterSource(credit);
                GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();
                NamedParameterJdbcTemplate namedParamJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
                namedParamJdbcTemplate.update(insertQuery, creditParameters, keyHolder, new String[]{"CREDITID"});
                String creditId = keyHolder.getKey().toString();

    return creditId;
    } 

记录已完美插入数据库中。引发以下异常

org.springframework.dao.DataRetrievalFailureException: The generated key is not of a supported numeric type. Unable to cast [java.lang.String] to [java.lang.Number]
    at org.springframework.jdbc.support.GeneratedKeyHolder.getKey(GeneratedKeyHolder.java:73)
    at com.bluebench.mediamanager.cmn.dao.crms.CreditDAO.insertCredit(CreditDAO.java:72)
    at com.bluebench.mediamanager.crms.service.CredentialManagementService.addCredit(CredentialManagementService.java:56)
    at com.bluebench.mediamanager.crms.controller.CredentialManagementController.addCredits(CredentialManagementController.java:59)

有没有办法检索主键值?

拉格夫·舒克拉

这是解决方案,而不是使用

String creditId = keyHolder.getKey().toString();

我们应该使用

String creditId = (String) keyHolder.getKeys().get("CREDITID");

实际提示来自Unknown先生。我不能接受您的回答,因为它不正确,但感谢您暗示了另一个方向。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring批处理使用自定义前缀自动生成表

来自分类Dev

Spring批处理使用自定义前缀自动生成表

来自分类Dev

如何使用自定义模板生成代码?

来自分类Dev

使用Spring MongoDB模板自定义mongoDB查询

来自分类Dev

使用自定义生成的许可证密钥保护Google表格的安全

来自分类Dev

使用* ngFor的自定义模板渲染

来自分类Dev

使用* ngFor的自定义模板渲染

来自分类Dev

使用模板WPF自定义ListBoxItems

来自分类Dev

如何在Spring Integration Aggregator中的JdbcMessageStore中使用自定义组密钥

来自分类Dev

如何在Spring Cloud Config中使用自定义ssh密钥位置

来自分类Dev

使用Java config配置的自定义spring数据(mongo)存储库的自动装配如何工作?

来自分类Dev

无法将自定义自动配置与spring-data-elasticsearch一起使用

来自分类Dev

Spring Integration jdbc存储过程自定义rowmapper

来自分类Dev

Spring Integration jdbc存储过程自定义rowmapper

来自分类Dev

如何实现对自定义模板引擎的Spring支持?

来自分类Dev

为什么Polymer Starter Kit在index.html中使用自动绑定模板而不是创建自定义组件?

来自分类Dev

使用自定义密钥的数据联接无法正常工作

来自分类Dev

使用自定义SSH密钥从Atlassian Stash / BitBucket克隆

来自分类Dev

az aks 使用自定义 ssh 密钥获取凭据?

来自分类Dev

Spring Security配置自动装配自定义UserDetailsService bean

来自分类Dev

使用Unity(容器抽象)定义自定义自动传真?

来自分类Dev

使用Unity(容器抽象)定义自定义自动传真?

来自分类Dev

使用 Microsoft Graph API 添加自定义标头并检索自定义标头

来自分类Dev

如何通过在模块中继承ODOO模板(使用网站生成器自定义)来进行编辑?

来自分类Dev

使用自定义属性从PDF添加/删除/检索信息

来自分类Dev

使用自定义登录按钮检索喜欢的Facebook页面

来自分类Dev

使用自定义枚举从微调器中检索值

来自分类Dev

使用自定义 GridViewItem 模板时如何使用 ItemContainerTransitions?

来自分类Dev

在构建过程中如何使用自定义自动生成工具修改源文件“ file.cs”?

Related 相关文章

  1. 1

    Spring批处理使用自定义前缀自动生成表

  2. 2

    Spring批处理使用自定义前缀自动生成表

  3. 3

    如何使用自定义模板生成代码?

  4. 4

    使用Spring MongoDB模板自定义mongoDB查询

  5. 5

    使用自定义生成的许可证密钥保护Google表格的安全

  6. 6

    使用* ngFor的自定义模板渲染

  7. 7

    使用* ngFor的自定义模板渲染

  8. 8

    使用模板WPF自定义ListBoxItems

  9. 9

    如何在Spring Integration Aggregator中的JdbcMessageStore中使用自定义组密钥

  10. 10

    如何在Spring Cloud Config中使用自定义ssh密钥位置

  11. 11

    使用Java config配置的自定义spring数据(mongo)存储库的自动装配如何工作?

  12. 12

    无法将自定义自动配置与spring-data-elasticsearch一起使用

  13. 13

    Spring Integration jdbc存储过程自定义rowmapper

  14. 14

    Spring Integration jdbc存储过程自定义rowmapper

  15. 15

    如何实现对自定义模板引擎的Spring支持?

  16. 16

    为什么Polymer Starter Kit在index.html中使用自动绑定模板而不是创建自定义组件?

  17. 17

    使用自定义密钥的数据联接无法正常工作

  18. 18

    使用自定义SSH密钥从Atlassian Stash / BitBucket克隆

  19. 19

    az aks 使用自定义 ssh 密钥获取凭据?

  20. 20

    Spring Security配置自动装配自定义UserDetailsService bean

  21. 21

    使用Unity(容器抽象)定义自定义自动传真?

  22. 22

    使用Unity(容器抽象)定义自定义自动传真?

  23. 23

    使用 Microsoft Graph API 添加自定义标头并检索自定义标头

  24. 24

    如何通过在模块中继承ODOO模板(使用网站生成器自定义)来进行编辑?

  25. 25

    使用自定义属性从PDF添加/删除/检索信息

  26. 26

    使用自定义登录按钮检索喜欢的Facebook页面

  27. 27

    使用自定义枚举从微调器中检索值

  28. 28

    使用自定义 GridViewItem 模板时如何使用 ItemContainerTransitions?

  29. 29

    在构建过程中如何使用自定义自动生成工具修改源文件“ file.cs”?

热门标签

归档