Capurando e somando Data no banco

Oi. já faz uns dois dias que estou tentando e não consigo inserir data no banco de dados…Eu preciso inserir duas datas : a data atual e a data daqui a 7 dias. Exemplo:
1º data: 01/06/2017
2º data: 08/06/2017

eu tentei e não deu certo, caso precise o codigo da Classe DAO esta a baixo:

Calendar c = Calendar.getInstance();
		
		java.sql.Date dataEmprestimo = (java.sql.Date) c.getTime();  
	    if (cliente.getTipoUsuario().toUpperCase().charAt(0) == 'P'){
	    	c.add(Calendar.DATE, +15);	    	
	    }else{
	    	c.add(Calendar.DATE, +7);		    
	    }
	    
	    java.sql.Date dataDevolucao = (java.sql.Date) c.getTime(); 
		
		String sql = "insert into emprestimo(usuarios_matricula, data_emprestimo, data_devolucao, livro_idlivro)"
						+ "values(?, ?, ?, ?)";
					
		
		try {
			PreparedStatement stm = this.connection.prepareStatement(sql);
			
			stm.setInt(1, cliente.getMatricula());
			stm.setDate(2, dataEmprestimo);
			stm.setDate(3, dataDevolucao);
			stm.setInt(4, livro.getId());
			
			stm.execute();
			stm.close();
			
			logger.log(Level.INFO, "Emprestimo realizado com sucesso");

OBS: eu realmente não sei trabalhar com Data :sweat_smile:

EDIT:

Consegui descobrir como inserir a data, mas ainda não consigo somar 7 dias na data atual…

codigo para pegar a data atual:

			java.util.Date dataAtual = Calendar.getInstance().getTime();
			stm.setDate(2, new java.sql.Date(dataAtual.getTime()));

Qual o erro que acontece ?

java.util.Date cannot be cast to java.sql.Date.

Pelo que estou vendo agora o problema é somente para somar os 7 dias a data atual. Acho que você pode fazer da seguinte forma:

java.util.Date dataAtual = new Date();

// Através do Calendar, trabalhamos a data informada e adicionamos 7 dias nela
Calendar c = Calendar.getInstance();
c.setTime(dataAtual );
c.add(Calendar.DATE, +7); // Adicionando 7 dias

// Obtemos a data alterada
dataAtual = c.getTime();

1 curtida

Certinho, obrigado =D