Boa tarde.
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.
Grato.
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
Marlon, qual o motivo desse tipo de banco ser mais indicado para distribuir aplicações desktop?
por que não há a necessidade de instalar o banco propriamente dito, e não precisa de nenhuma configuração
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?
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.
Ok Marlon, vou dar uma pesquisada em como fazer de alguma dessas formas.
Obrigado.
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.
Duvida resolvida e problema solucionado.
Muito obrigado.