`
阅读更多
import com.gctx.framework.dao.IGenericJdbcDAO;
import com.gctx.framework.logs.Logit;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;



public Integer insert(final String sql, final Object[] objs)
  {
    Logit.debugLog(sql);

    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcTemplate().update(new PreparedStatementCreator() {
      public PreparedStatement createPreparedStatement(Connection conn) {
        PreparedStatement ps = null;
        try {
          ps = conn.prepareStatement(sql, 1);

          if ((objs != null) && (objs.length > 0))
            for (int i = 0; i < objs.length; i++)
              ps.setObject(i + 1, objs[i]);
        }
        catch (SQLException e)
        {
          Logit.errorLog(e.getMessage(), e);
        }

        return ps;
      }
    }
    , keyHolder);

    if ((keyHolder == null) || (keyHolder.getKey() == null)) {
      return Integer.valueOf(0);
    }

    return Integer.valueOf(keyHolder.getKey().intValue());
  }
分享到:
评论

相关推荐

    jdbcTemplate

    GeneratedKeyHolder keyHolder = new GeneratedKeyHolder(); getJdbcTemplate().update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection connection)...

    KeyHolder:在macOS中记录快捷方式,例如Alfred.app

    用法可可豆pod 'KeyHolder'迦太基github "Clipy/KeyHolder"github "Clipy/Magnet"github "Clipy/Sauce"例设置默认组合键。 let recordView = RecordView ( frame : CGRect. zero )recordView. tintColor = NSColor ...

    macOS 上录制快捷键功能开源库.zip

    开源库KeyHolder就是专为这个目的设计的,它允许开发者轻松地在他们的应用程序中添加自定义快捷键记录和触发机制。KeyHolder项目的源代码是公开的,开发者可以自由查看、学习和修改,这符合开源项目的精神。 ...

    KeyHolder password manager:将您的密码存储在受主密码保护的安全数据库中-开源

    可用的源代码在这里:https://github.com/antoniopelusi/KeyHolder版本1.2错误修复需要启动Java虚拟机,可以在这里使用:https://www.java.com/en/download/将密码存储在安全的地方用主密码保护的数据库

    jdbc保存对象返回一个主键

    4. **使用`KeyHolder`保存主键**:`KeyHolder`用于保存执行SQL语句后生成的主键值。这里使用`GeneratedKeyHolder`,它是`KeyHolder`的一个实现类。 5. **执行SQL语句**:通过`JdbcTemplate`的`update`方法执行SQL...

    keyholder:关键守护者

    钥匙扣 密钥持有者可确保您所有密码的安全。 使用给定的主密钥对您的密码进行加密,并将手机存储在其中。 特征: 密码使用强大的AES-256加密存储。 ... 选择类别,例如金融,旅游,游戏,社交媒体等。... 任何问题:

    swift-macOS上录制快捷键功能开源库合

    例如,压缩包中的"Clipy-KeyHolder-9b9c925"可能是其中一个库的特定版本,比如Clipy是一个著名的macOS剪贴板增强工具,而KeyHolder可能是它的一个模块,专门负责快捷键管理和录制。KeyHolder可能封装了以下关键功能...

    eXguard Database Structure.pdf

    - **KeyHolder_In_Group Table Fields**:记录了钥匙持有者在不同组中的分配情况。 - **Key_History Table Fields**:记录了钥匙的使用历史。 - **Key_To_Relay Table Fields**:记录了钥匙与继电器的关联信息。 ...

    Java工程师面试题集合

    可以使用MyBatis的KeyHolder或返回插入的主键值。 14. 在mapper中如何传递多个参数?可以使用参数对象或Map来传递多个参数。 15. Mybatis动态sql有什么用?执行原理?有哪些动态sql?MyBatis提供了动态SQL来实现动态...

    SPRING API 2.0.CHM

    KeyHolder KeyNamingStrategy LabeledEnum LabeledEnumResolver LabelTag LangNamespaceHandler LastModified LazyConnectionDataSourceProxy LazyInitTargetSource LazyInitTargetSourceCreator ...

    在macOS中记录快捷方式,例如Alfred.app。-Swift开发

    KeyHolder在macOS中记录快捷方式,例如Alfred App。 用法CocoaPods pod'KeyHolder'迦太基github“ Clipy / KeyHolder” github“ Clipy / Magnet” github“ Clipy / Sauce”示例KeyHolder在macOS中记录快捷方式,...

    springBoot使用JdbcTemplate代码实例

    在上面的示例代码中,我们使用 JdbcTemplate 的 update 方法来执行插入操作,并使用 KeyHolder 来获取插入记录的主键值。 批量操作 JdbcTemplate 也提供了批量操作的支持,例如: ``` public void createUserList...

Global site tag (gtag.js) - Google Analytics