Estou desenvolvendo uma pequena aplicação que cuida de orçamento doméstico, essa minha aplicação possuí uma base com algumas tabelas nas quais ela faz as consultas, inserções e atualizações conforme necessário. Trata-se de uma aplicação desktop, eu gostaria de saber como faço para instalar ou criar um instalador que instale o mysql e crie a base, ou se existe alguma outra abordagem mais recomendada.
para se distribuir uma aplicação desktop o ideal é usar um DB embargado como o Derby, H2, HSQL, SQLITE e afins…
eu prefiro o H2.
no caso do instalador, para ficar algo mais “usual”, crie um executavel usando o JSmoth e em seguinda um instalador usando o Inno Setup
R
robsonrpg
Marlon, qual o motivo desse tipo de banco ser mais indicado para distribuir aplicações desktop?
Marlon_Meneses
por que não há a necessidade de instalar o banco propriamente dito, e não precisa de nenhuma configuração
R
robsonrpg
Entendo, mas mesmo usando alguns deles eu ainda teria que rodar algum scipt para criar a base propriamente dita não? para usa-lo seriam necessárias alteraçõesno código além da parte de conexão com o banco, como nas consultas e inserções?
Marlon_Meneses
você pode fazer a criação do banco de duas formas:
1º - distribuir a aplicação com o banco já criado, com as tabelas e tal;
2º - criar as tabelas usando jpa ou um script mesmo, você pode até mesmo criar o banco (.db) na primeira execução
agora falando em alterações do cógigo, pode haver a necessidade de fazer algumas adaptações, no entando são mínimas ou até mesmo nem seja necessário.
R
robsonrpg
Ok Marlon, vou dar uma pesquisada em como fazer de alguma dessas formas.
Obrigado.
R
robsonrpg
Marlon, fiz alguns testes com o HSQLDB e com o H2, e acabei ficando com o H2 mesmo, ele é muito simples de usar e não implicou em nenhuma alteração no meu código fonte, com exceção é claro da classe de conexão, o HSQLDB me deu alguns problemas de conexão e com as consultas também, como o tempo para eu entregar esse trabalho estava ficando curto não fui muito a fundo no problema e optei pelo H2 mesmo.