quarta-feira, 9 de julho de 2014

Gravar ano(Year) em banco MySQL usando Java

Caros leitores, a ajuda de hoje vai ser rápida. Vamos supor que temos a tabela abaixo:


A coluna id é do tipo Integer, a coluna nome é do tipo Varchar e a coluna data_aniversario é do tipo Year. Quando estamos lidando com uma tabela e usando Hibernate, as coisas se tornam mais fáceis porque, o hibernate grava o registro para o desenvolvedor e não é necessário montar query de INSERT e atribuir os valores a mesma. Porém, quando estamos usando JDBC puro e quando digo puro estou falando do pacote java.sql, precisamos lidar com a atribuição de valores à query e essa atribuição, às vezes, pode ser um pouco complicada.

Para tratarmos a gravação de dados com colunas do tipo Year, fazemos da seguinte forma:

String query = "INSERT .....";
...
preparedStatement.setInt(1, obj.getId());
preparedStatement.setString(2, obj.getNome());

Calendar c = Calendar.getInstance();
c.setTime(obj.getAnoNascimento());
preparedStatement.setInt(3, c.get(c.YEAR));

preparedStatement.execute();

É isso galera, espero ter ajudado. Ficamos por aqui hoje.

Nenhum comentário: