Databases provide the feature of auto-incrementing which is generally used for IDs. JDBC api also has a method to fetch the last auto generated id.

The example below generates an id and use it to update a table column.

 import java.sql.*;

public class testKeys 
{
    public static void main(String[] args) 
    {
        DB db = new DB();
        Connection conn=db.dbConnect(
    "jdbc:jtds:sqlserver://localhost:1433/tempdb","sa","");
        db.performKeys(conn);
    }
}

class DB
{
    public DB() {}

    public Connection dbConnect(String db_connect_string, 
  String db_userid,String db_password)
    {
        try
        {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            Connection conn = DriverManager.getConnection(
    db_connect_string, db_userid, db_password);
            System.out.println("connected");
            return conn;
            
        }
        catch (Exception e)
        {
            e.printStackTrace();
            return null;
        }
    }

    public void performKeys(Connection conn)
    {
        String query;
        PreparedStatement pstmt;
        
        try
        {
            query = "insert into customer (name,category) "+
    "values ('name1','temp')";
            pstmt = conn.prepareStatement(query, 
    Statement.RETURN_GENERATED_KEYS);

            pstmt.executeUpdate();
            ResultSet keys = pstmt.getGeneratedKeys();

            int count = 0;
            
            keys.next();
            int key = keys.getInt(1);
            
            query ="update customer set age =? where id =?";
            pstmt = conn.prepareStatement(query);
            pstmt.setFloat(1, 26);
            pstmt.setInt(2, key);
            pstmt.executeUpdate();

            keys.close();
            pstmt.close();
            conn.close();

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

};