获取主键的方法?

package com.aaa.test;
/**
 * 
 * 应用场景   用户信息填写采用分布式的  一条用户的数据填入  通过几页来实现。
 * 首先是通过  insert 添加用户部分信息  之后需要获取主键 ,通过主键id  update  set  添加用户信息。
 
 *
 *语法?
 *1.在insert SQL语句之后,  ,statement.return_generated_keys
 *
 *2.ps.getGeneratedKeys();获得一个set集合 通过 while循环 取数据  
 *  rs.getint();  int 对应主键id的数据类型!
 *
 */


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import org.junit.Test;

import com.mysql.jdbc.Statement;

public class GetKeyDemo {

    @Test
    public void KeyDemo() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql:///qy66?characterEncoding=utf-8", "root","root");
        
        PreparedStatement ps = con.prepareStatement(        //通过 statement. return generated keys
                "insert into bank (name) values ('哈哈')",Statement.RETURN_GENERATED_KEYS
                );
        
        int i = ps.executeUpdate();
        // ps.getGenerateKeys();获取主键  返回一个 set集合。
        ResultSet rs = ps.getGeneratedKeys();
        
        while (rs.next()) {
            int j = rs.getInt(1);
            System.out.println(j);
        }
        
        ps=con.prepareStatement("update bank set money=66666 where id=3");
        ps.executeUpdate();
        ps=con.prepareStatement("update bank set money=88888 where id=4");
        ps.executeUpdate();
        ps=con.prepareStatement("update bank set money=99999 where id=5");
        ps.executeUpdate();
        
        rs.close();
        ps.close();
        con.close();
    }
}
原文地址:https://www.cnblogs.com/ZXF6/p/11048011.html