首页 相关文章 sql server2005 jdbc解决自动增长列统一处理问题纪实

sql server2005 jdbc解决自动增长列统一处理问题纪实

  背景:系统要支持多种数据库,统一insert的时候获取自动增长列的处理方式

  问题1:insert+select方案

  sqlserver2000可以使用insertSql + SELECT @@IDENTITY AS 'Identity'的方式来获得,但是mysql则只能使用executeUpdate(insertSql);

  executeQuery('SELECT last_insert_id() ')这样的方式,否则会抛出异常:java.sql.SQLException: Can not issue data manipulation statements with executeQuery()

  而两句话分开处理,总让人感觉不放心,如果并发操作比较多,存在潜在的危险。

  问题2:getGeneratedKeys方案

  mysql的驱动支持jdbc3.0,实现了getGeneratedKeys(),但sqlserver2000 jdbc驱动不支持getGeneratedKeys()

  解决思路:

  googl...[ 查看全文 ]

2016-02-19 标签:

sql server2005 jdbc解决自动增长列统一处理问题纪实的相关文章

手机页面
收藏网站 回到头部