Duvida sql

Sendo a classe funcionarioDAO e Aumento funcionario, minha duvida é a seguinte, fazer um update no salario dos funcionarios, gostaria de fazer direto no sql por exemplo"update funcionario set salario = salario + aumento", minha duvida é a seguinte o usuario irar digitar o aumento como consigo pegar esses dados e usar no update.

public class FuncionarioDAO {
    private Connection con;
    public FuncionarioDAO(){
        con = new ConnectionFactory().getConnection();
    }
    public void cadastrar(Funcionario f)
    {
        String sql = "insert into funcionario(nome,salario)values(?,?)";
        try
        {
            PreparedStatement stmt = con.prepareStatement(sql);
            stmt.setString(1, f.getNome());
            stmt.setInt(2, f.getSalario());
            stmt.execute();
            stmt.close();

        }catch(SQLException e)
        {
            throw new RuntimeException(e);
        }
        
    }
    public void aumentar(Funcionario f)
    {
        String sql = "update funcionario set salario = salario";
        
        try
        {
            PreparedStatement stmt = con.prepareStatement(sql);
            
        }catch(SQLException e)
        {
            throw new RuntimeException(e);
            
        }
        }
        
        
    }

    
}

public class AumentoFuncionario {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);

Funcionario f = new Funcionario();
FuncionarioDAO dao = new FuncionarioDAO();

System.out.println(“Digite a porcentagem de aumento?”);
int porcentagem = sc.nextInt();
dao.aumentar(f);

}

}

Você pode utilizar dessa forma


    public void aumentar(Funcionario f)  
    {  
        String sql = "update funcionario set salario = (salario + ?)";  
          
        try  
        {  
            PreparedStatement stmt = con.prepareStatement(sql);  
             
            stmt.setDouble(1, valorDeAumento ) ;

            stmt.executeUpdate()

        }catch(SQLException e)  
        {  
            throw new RuntimeException(e);  
              
        }  
        }  
          
          
    }

Vlw cara deu certo

xD

Você ainda vai colocar o where para o id do funcionário no seu código né?

Do jeito que está, vai sempre atualizar o salario de todos.

AbelBueno a intençao é aumentar o salario de todos msm, obrigado pela dica, foi so mudar a logica pq era em porcetagem para update funcionario set salario = (salario + ((?/100) * salario)