Oi,
estou aprendendo um pouco sobre java desktop e jdbc, porém estou com uma duvida. Todos os projetos que vejo não existe a possibilidade de adicionar novas colunas na tabela do banco. Estas já estão fixas. Por exemplo: se for desenvolver uma aplicação que controle médicos de uma clinica. A classe médico tem seus atributos como por exemplo nome, telefone e especialidade. Mas digamos que futuramente tenha o interesse de adicionar mais um atributo como idade do medico. Teria que adicionar uma nova coluna no banco. Até agora,(OBS: não sei muito ainda sobre este assunto) não achei nada a respeito da possibilidade de aumentar dinamicamente, dependendo do meu usuário, o número de colunas e nomear da forma que o usuário queira. Para aprender mais gosto de ver projetos mas também gosto de desenvolver o meu para ver como funciona. Mas quero desenvolver uma aplicação dinâmica que possibilite ao usuário criar tabelas novas e também novas colunas (com nomes que o próprio usuário escolha) além dos próprios objetos. Não tenho encontrado nada a respeito. Alguém sugere algum tema a ser estudado, ou algum exemplo. Desta forma que estou pensando teria como criar um projeto seguindo o modelo MVC? Agradeço desde já.
Porque acredito que não seja possível adicionar atributos em classes dinamicamente em Java. Geralmente o nome da tabela no banco tem o mesmo nome da classe e as colunas os nomes dos atributos da classe, então se adicionar uma coluna no banco, teria que adicionar um atributo na classe.
Mas supondo que vc queira criar uma ferramenta para manipular o banco, usando o JDBC é possível usar a mesma query do banco, portanto dá para fazer quase tudo em tempo de execução, como criar tabelas, inserir colunas, alterar configurações do banco, …
exemplo:
Statement stmt = null;
try {
stmt = con.createStatement();
stmt.executeUpdate("ALTER TABLE game ADD sync boolean DEFAULT false;");
} catch (SQLException e) {
JDBCTutorialUtilities.printSQLException(e);
} finally {
if (stmt != null) { stmt.close(); }
}
https://docs.oracle.com/javase/tutorial/jdbc/index.html
https://docs.oracle.com/javase/tutorial/jdbc/basics/tables.html
Fala brother
Aconselho vc a usar mongodb então…trabalhar com SGDB nesse cenário dinâmico ai…kkkk é cavar um buraco e cair dentro…experiencia própria!
Sugestão de cursos se tiver interesse - https://for-j.myedools.com/java-se-desktop
Voce ja conseguiu a resposta para esta duvida sua?