Dúvida em relação a código SQL?

Esse cara se não me engano precisa de um ResultSet, e um ResultSet é alimentado a partir de uma consulta, e esse método só funciona se o BD utilizado fornecer suporte de estados das linhas da tabela, mas acredito que o uso dele não cabe no contexto deste problema.

Sim é examente isto.Esqueçi que não se aplica ao contexto. Só que se for em java que ti er programando a aplicação dá pra verificar se o objeto for inserido utilizando uma variàvel do tipo boolean e colocar pra receber no métodod inserir e depous faz uma comparação com if que se foi inserida retorna os objetos passados senão retorna nulo

1 curtida

Esse cenário aqui funciona em instâncias únicas da aplicação, se você imaginar uma rede de múltiplos usuários conectados e gerando informações a todo momento, se a notificação precisar ser disparada para N usuários, esse tipo de tratativa não resolveria o problema!
Por isso a ideia de usar um TimerTask de verificação, porque de tempo em tempo independentemente da quantidade de instâncias da aplicação e da quantidade de usuários, ela sempre vai executar a rotina de verificação e disparar a notificação.
Não necessariamente precisa ser o TimerTask, tem outras API’s semelhantes que também atendem, como já foi discutido mais acima no tópico, aí nesse ponto é mais uma questão de necessidade X solução.

1 curtida

Bom sim mas igual muitos programadores dizem usa a solução que te atenda.Se você acha o TimerTask bom use-o mais se quer desempenho pesquise um pouco mais

Não compreendi sua colocação?!
Poderia expor fatos e dados reais sobre isso? Porquê você afirma isso com tanta certeza? Porquê sinceramente só argumentar por argumentar, não sei para os demais, mas para mim não me diz muita coisa, é tipo juntar nada com coisa nenhuma!
Não estou dizendo que essa é a melhor solução, e sim a solução que atende o problema, acredito que existam outras soluções que cabem aqui, porém as desconheço até então!
Se você conhece uma forma melhor, mais simples, diferente, ou qualquer que seja por gentileza compartilhe conosco!
Ressalvo, independentemente de tecnologias, se um recurso é utilizado de forma errada ou dentro de um contexto errado o resultado é espelho o disso, da mesma forma que o uso correto do recurso certo dentro do contexto certo também reflete um ótimo resultado!

Igual eu falei tem sim como resgatar os valores do trigger.Se quiser em outros fóruns e pergunte siceramente eu não sei muito bem como implementar num projeto java mais sei que tem como. E depois irei postar aqui

Opa eu vou fazer pelo task mesmo
no caso se eu quiser chamar em todas a aplicação eu preciso utilizar o metodo em todas stages?

Cara eu não conheço praticamente nada de JavaFX pra te aconselhar, mas assim, você deve colocar isso onde realmente for atender a necessidade, isso tem que estar claro pra ti!

1 curtida

opa man eu criei uma variavel só para guardar a qtd de registros
mas estou c dúvida em como fazer essa verificação
se tem um registro a mais ou a menos

				try {
                                        String verStatus = "SELECT COUNT(*) FROM equipamento_requisicao";
                                        PreparedStatement stmt = conn.prepareStatement(verStatus);
                                        ResultSet rsStatus = stmt.executeQuery();
                                        rsStatus.next();
                                        int Resultado = rsStatus.getInt(1);

no caso eu teria que pegar esse valor ao validar o login e guardar uma variavel e depois fazer a comparação com essa variável resultado?

teria como vc me dar uma luz ?

A ideia seria exatamente essa, aí sempre que for identificado uma mudança de quantidade de registros, atualizar o valor dessa variável de comparação!

A condição para disparar a notificação seria: valorRetornadoDaConsulta > valorVariavelDeComparacao, isso indicaria que um novo registro foi inserido na tabela.

1 curtida

no caso eu tenho um singleton eu poderia utilizar esse valor lá?
Ou seja cada vez que se verificar um registro novo
ou um registro a menos eu setaria guardaria esse valor nela?

É que não sei como está o contexto da sua aplicação, mas se colocá-la lá atende, não vejo problema nisso!

Sim, porquê somente tendo esse valor em mãos a comparação será efetiva e terá o resultado esperado.

1 curtida

Tipo eu tenho um singleton onde eu guardo todas informações relacionadas ao usuario, é tipo um session, então eu não sei é necessário criar isso no singleton, eu não consegui pensar em outra maneira, criar um construtor e passar como parametro em todas as stages, existe algum outro modo para fazer isso ( uma forma mais correta ), pois nesse caso eu teria que ficar setando esse valor no singleton quando tivesse uma alteração .

ahh se você pdoesse me dar uma ajuda
eu utilizo bastante isso, mas não sei ao certo qual nome se dar a essa prática:
transformar o objeto em uma static na tela login por exemplo private static Sessao aSessao;

e então utilizar o aSessao para chamar os metodos da classe sessão
queria dar uma estudada a mais sobre, " não sei muito bem o conceito, mas sei como utilizar, eu queria pegar o conceito e aprender mais sobre "

desde já agradeço pela ajuda e desculpa por esse tanto de perguntas, creio que comecei a da forma errada tinha conhecimentos básicos em java e ao invés de ir assistir video aulas ou me aprofundar no tema já comecei tentando na prática sem nenhum conceito (" mas eu acho que consigo pegar mais na prática ")

Não consegui compreender muito bem o que tu disse, você sabe que um Singleton é um design pattern?
Posso ter N classes no projeto utilizando o pattern Singleton, Pojo, DAO, Controller, Service, Handler, Validator e por aí vai…
Sobre as Stages que já entram no âmbito do JavaFX, não tenho a mínima ideia do que são e como funcionam, em outras palavras “não sei se é de comer ou de passar no cabelo” rs.
Posso tentar elaborar um exemplo, mas seria somente com Java puro, como te disse antes para poder te aconselhar melhor com as dúvidas de onde por esse código e coisas assim eu teria que conhecer JavaFX, entender sobre o ciclo de vida dos objetos dele, usabilidade e aplicabilidade, coisas assim.

Sobre isso aqui, sem problemas, sinta-se a vontade para tirar suas dúvidas, mas uma coisa que te recomendo fortemente é, não pule etapas de estudo, se você sabe que te falta alguns conhecimentos e domínios básicos, pare tudo que está fazendo e volte para o básico, evolua a partir dele com o tempo, pular etapas não vai te trazer nenhum benefício, estude os conceitos, aprenda os conceitos e os aplique na prática com exemplos, sempre um conteúdo de cada vez, e com o tempo você vai perceber que eles mesmos vão se encontrando sozinhos conforme você avança os estudos.

2 curtidas

vlw manoo, consegui fazer utilizando o singleton e vou começar a dar uma aprofundada em conceitos

em relação a isso:
private static Sessao aSessao
e utilizar
aSessao. para obter o metodos

tornar esse objeto statico e utilizar em outras classes para chamar a minha sessão
qual o nome desse conceito?

Geralmente quando eu faço uma classe pra montar a tela do javaFx eu uso métodos getStage e set Stage.
Obs:Sei que não é 100% correto mas uso porque é majs fâcil de implementar

1 curtida

Se você cria a instância internamente na classe e faz o uso dela através do static esse é o pattern conhecido como Singleton, é muito usado com classes utilitárias.

Exemplo:

public class MinhaClasse {
    private static MinhaClasse instancia;

    private MinhaClasse() {
    }

    public static MinhaClasse getInstancia(){
        if (instancia == null) {
            intancia = new MinhaClasse();
        } 
        return instancia;
    }
}

Forma de uso:

MinhaClasse instancia = MinhaClasse.getInstancia();

Lembrando, só o fato de definir na declaração como static quer dizer que você quer que aquele cara pertença a classe e não ao objeto.

1 curtida

opa man vlw
eu tenho um singleton

eu consegui fazer todas as verificações:

                                        String verStatus = "SELECT COUNT(*) FROM equipamento_requisicao";
                                        PreparedStatement stmt = con.prepareStatement(verStatus);
                                        ResultSet rsStatus = stmt.executeQuery();
                                        rsStatus.next();
                                        int Resultado = rsStatus.getInt(1);
                                            if(Resultado>Sessao.getInstancia().getQtdRegistroBD()){
                                                Sessao.getInstancia().setQtdRegistroBD(Resultado);
                                                // meu alert
                                            }else if(Resultado<Sessao.getInstancia().getQtdRegistroBD()){
                                                Sessao.getInstancia().setQtdRegistroBD(Resultado);
                                            } else{
                                                //aq não irei fazer nada.
                                            }

creio que isso seja suficiente para o que estou precisando.
mas estou com uma dúvida eu fiz esse metodo em um DAO
eu tou com dúvida onde eu chamaria esse timer para ficar fzd essa rotina.

E também eu estava pensando em criar uma tabela auxiliar para guardar essas qtd’s de registros e o id do usuario
ex:
quando o usuário fechar a instancia salvar no banco de dados a qtd de registros no momento que ele fechou e o id
mas eu não sei se no java é possível chamar um metodo quando o usuario fecha a aplicação ( ex: se o usuario fechar pelo gerenciador de tarefas ou reiniciando o pc etc etc), é possível isso?.