`

PreparedStatement.RETURN_GENERATED_KEYS

    博客分类:
  • jdbc
阅读更多
PreparedStatement.RETURN_GENERATED_KEYS可以获取刚刚插入数据的id
当使用自增字段时,可以通过这种凡是获取ID值
引用


Connection conn=null;
        PreparedStatement ps=null;
        String sql="insert into customer(customer_name) values(?)";
        ResultSet rs=null;
        
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/hibernate","root","123456");
            
            ps = conn.prepareStatement( sql, PreparedStatement.RETURN_GENERATED_KEYS );
            ps.setString(1, "jdbc1");
            ps.executeUpdate();
            rs=ps.getGeneratedKeys();
            
            if ( !rs.next() ) {
               System.err.println("wrong ...");
            }
            final int CUSTOMER_ID_COLUMN_INDEX=1;
            System.err.println(rs.getInt( CUSTOMER_ID_COLUMN_INDEX )); //输出刚插入数据返回的Id号
分享到:
评论

相关推荐

    JDBC学习文档

    )", PreparedStatement.RETURN_GENERATED_KEYS);` 3. **创建带指定索引的自动生成键的PreparedStatement**:`PreparedStatement prepareStatement(String sql, int[] columnIndexes)` - **用途**:创建一个可以...

    java使用jdbc插入信息时获取id1

    preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ``` 3. **设置参数**:`PreparedStatement`允许预先设置SQL语句中的参数,提高效率并防止SQL注入。在循环中,`set...

    详解MyBatis中主键回填的两种实现方式

    )", PreparedStatement.RETURN_GENERATED_KEYS); ps.setObject(1, person.getUsername()); ps.setObject(2, person.getPassword()); ps.setObject(3, person.getMoney()); int i = ps.executeUpdate(); rs = ps...

    JDBC的常用方法

    System.out.println(generatedKeys.getInt(1)); // 输出自增主键值 } ``` 对于PreparedStatement对象,过程类似: ```java Connection connection = DBUtils.getConnection(); String sql = "insert into user ...

    Oracle blob字段上传下载

    PreparedStatement ps = cn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps.setString(1, evo.getEle_elementId()); ps.setString(2, evo.getMmsnews_title()); ps.execute(); // 获取Blob字段 ...

    jdbc保存对象返回一个主键

    PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps.setString(1, mess); ps.setString(2, time1); return ps; } }, keyHolder); int intValue = keyHolder.getKey()...

    Java获取最后插入MySQL记录的自增ID值的3种方法

    **方法一:使用PreparedStatement的RETURN_GENERATED_KEYS特性** 这种方法是最推荐且安全的方式,尤其是在多线程环境中。在创建PreparedStatement对象时,通过传递`Statement.RETURN_GENERATED_KEYS`参数,我们可以...

    获取自增ID.docx

    int id = generatedKeys.getInt(1); System.out.println("Generated ID: " + id); } else { throw new SQLException("Creating user failed, no ID obtained."); } } } } catch (SQLException ex) { ex....

    jdbc 插入记录并返回自增主键值

    在Java编程中,JDBC(Java Database Connectivity)...正确地使用预编译的`PreparedStatement`可以提高代码的可读性和安全性,同时,通过设置`RETURN_GENERATED_KEYS`属性,我们可以轻松地获取新插入记录的自增主键值。

    java解析excel表格

    PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); for (String[] row : data) { pstmt.setString(1, row[0]); pstmt.setString(2, row[1]); pstmt.setString(3, row[2...

    mysql的插入问题 怎么获得自动增长的ID

    )", Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, "new record"); int affectedRows = pstmt.executeUpdate(); if (affectedRows > 0) { try (ResultSet rs = pstmt.getGeneratedKeys()) { if (rs....

    spring整合jdbc学习资料

    例如,执行插入操作时,我们可以使用JdbcTemplate的update()方法,它会自动处理预编译的SQL语句,并且如果需要返回主键,可以使用PreparedStatement的RETURN_GENERATED_KEYS标志来获取自增字段的值。 批量处理是...

    Java操作Mysql的方法

    `RETURN_GENERATED_KEYS`参数用于获取自动生成的键(如自动递增ID),如果适用的话。 总结来说,Java通过`java.sql`包中的`Connection`、`PreparedStatement`和`Statement`接口提供与MySQL数据库的交互。对于有结果...

    springBoot使用JdbcTemplate代码实例

    PreparedStatement ps=conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps.setString(1, u.getName()); ps.setString(2, u.getAddress()); return ps; } }, holder); int insertId=holder.get...

Global site tag (gtag.js) - Google Analytics