Ir ao conteúdo
  • Cadastre-se

Victor Gimenez

Membro Júnior
  • Posts

    11
  • Cadastrado em

  • Última visita

posts postados por Victor Gimenez

  1. Boa Tarde,

    Sou novo nessa parte de frameworks java, tenho uma noção já de OO e JDBC. Comecei a estudar ontem os frameworks Hibernate com JPA + Maven através de alguns exemplos no youtube só que em inglês pelas videoaulas estarem completas e enquanto escrevia fui traduzindo as classes, métodos, e atributos para o português para facilitar o entendimento e o problema é que ele utilizava a IDE Eclipse e o banco de dados H2 enquanto eu estou utilizando Netbeans e MySQL(o qual já configurei o repositório, dialeto e os dados da URL dele). Ele está retornando esse erro na saída:

    cd C:\Users\Vickz\Documents\NetBeansProjects\hibernate-jpa-teste; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_101" cmd /c "\"\"C:\\Program Files\\NetBeans 8.1\\java\\maven\\bin\\mvn.bat\" -Dexec.args=\"-classpath %classpath src.main.java.TestarEmpregado\" -Dexec.executable=\"C:\\Program Files\\Java\\jdk1.8.0_101\\bin\\java.exe\" -Dexec.classpathScope=runtime -Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans 8.1\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec\""
    Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts.
    Scanning for projects...
                                                                            
    ------------------------------------------------------------------------
    Building hibernate-jpa-teste 1.0-SNAPSHOT
    ------------------------------------------------------------------------
    
    --- exec-maven-plugin:1.2.1:exec (default-cli) @ hibernate-jpa-teste ---
    out 07, 2016 1:43:54 PM org.hibernate.jpa.boot.internal.PersistenceXmlParser doResolve
    INFO: HHH000318: Could not find any META-INF/persistence.xml file in the classpath
    Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named Persistencia
    	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61)
    	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
    	at src.main.java.TestarEmpregado.main(TestarEmpregado.java:32)
    ------------------------------------------------------------------------
    BUILD FAILURE
    ------------------------------------------------------------------------
    Total time: 6.425s
    Finished at: Fri Oct 07 13:43:54 BRT 2016
    Final Memory: 5M/116M
    ------------------------------------------------------------------------
    Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project hibernate-jpa-teste: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
    
    To see the full stack trace of the errors, re-run Maven with the -e switch.
    Re-run Maven using the -X switch to enable full debug logging.
    
    For more information about the errors and possible solutions, please read the following articles:
    [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

     

    Dai meu pom.xml ficou assim:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>br.victor</groupId>
        <artifactId>hibernate-jpa-teste</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>jar</packaging>
        <!-- As dependências da ultima versão a ser instalada -->
        <dependencies>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>5.2.3.Final</version> 
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>5.1.0.Final</version>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>1.4.192</version>
            </dependency>
            <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>persistence-api</artifactId>
                <version>1.0.2</version> 
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <!-- or whatever version you use -->
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
    </project>

     

    persistência.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    To change this license header, choose License Headers in Project Properties.
    To change this template file, choose Tools | Templates
    and open the template in the editor.
    -->
    
    <persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
                 version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
        
        
        <!-- configuração nomeada c/ classes de entidade -->
        <persistence-unit name="Persistencia">
            
            <!-- Representação das classes logo abaixo que são os parâmetros para conexão com bd -->
            <class>br.victor.br.victor.hibernate.modelo.Empregado</class>
            
            <properties>    
                <property name="javax.persistence.jdbc.driver" value="jdbc.com.mysql.Driver" />
                <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/teste" />
                <property name="javax.persistence.jdbc.user" value="root" />   
                <property name="javax.persistence.jdbc.password" value="" />  
                
                <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />  
                <property name="hibernate.hbm2ddl.auto" value="create-drop" />   
            </properties>
        </persistence-unit>
    </persistence>

     

    classe Empregado

    package src.main.java;
    
    import java.io.Serializable;
    import java.util.Date;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
    /**
     *
     * @author Vickz
     */
    @Entity
    @Table(name = "empregado")
    public class Empregado implements Serializable {
        
        private static final long serialVersionUID = 1L;
        @Column(name = "id_empregado")
        @Id
        private Long idEmpregado;
        @Column(name = "nome")
        private String nome;
        @Column(name = "sobrenome")
        private String sobrenome;
        @Column(name = "dataNascimento")
        private Date dataNascimento;
    
        public Empregado() {
        }
    
        public Empregado(Long idEmpregado, String nome, String sobrenome, Date dataNascimento) {
            this.idEmpregado = idEmpregado;
            this.nome = nome;
            this.sobrenome = sobrenome;
            this.dataNascimento = dataNascimento;
        }
      
      /*.... Getters & Setters ..... */

     

    classe TestarEmpregado:

    package src.main.java;
    
    
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.List;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import javax.persistence.PersistenceContext;
    
    import src.main.java.Empregado;
    
    /**
     *
     * @author Vickz
     */
    public class TestarEmpregado {
    
        private static EntityManager man;
        private static EntityManagerFactory emf;
        //ou @PersistenceContext(unitName = "Persistencia")
        
        @SuppressWarnings("unchecked")
        public static void main(String[] args) {
            /* Criar o gestor de persistência (EM) */
            emf = Persistence.createEntityManagerFactory("Persistencia");
            man = emf.createEntityManager();
            
            Empregado emp1 = new Empregado(3L, "Mariana", "Fonseca", new GregorianCalendar(1990, 5, 21).getTime());
            Empregado emp2 = new Empregado(5L, "João", "Ricardo", new GregorianCalendar(1986, 8, 11).getTime());
            
            man.getTransaction().begin();
            man.persist(emp1);
            man.persist(emp2);
            man.getTransaction().commit();
            
            
           /* List<Empregado> empregados = man.createQuery("FROM empregado").getResultList();
            System.out.println("Nesse banco de dados há: " + empregados.size() + " empregados. "); */
                           
        }
        
    }

     

    Minha estrutura de diretórios ficou assim (vide imagem), queria saber o que houve e como corrigir esse problema?? Muito Obrigado

     

    estrutura.jpg

  2. Vi agora sua resposta aqui, eu tinha até percebido antes esse problema dai fiz a declaração

    PrioridadeDetalhe pridetalhe = new PrioridadeDetalhe();

    dai correu tudo certo, quando dei o debug ele tinha iniciado null dai quando fui tentar chamar o método desse objeto ele pegou um valor null e retornou ponteiro nulo!! Valeeu pelo toque agora fixou aqui :)

    • Curtir 1
  3. Boa Tarde,

    Estou tentando realizar uma função que pega o ID e mostra em uma JTextField a partir da opção selecionada na JComboBox, dai agora estou com problema na linha pstm.setString(1, pridetalhe.getPrioridade()); no código a seguir:

    public class MySQLPrioridadeDetalheDAO implements PrioridadeDetalheDAO {
    
        private Connection con;
        private PreparedStatement pstm;
        private Statement stm = null;
        private ResultSet rs = null;
    
    @Override
        public Long getCodPrioridade() throws DAOException{
            PrioridadeDetalhe pridetalhe = null;
            String GETCOD = null;
            long valor = 0;
            
            try {
                GETCOD = "SELECT * from prioridadedetalhe where prioridade = ? ";
                pstm = con.prepareStatement(GETCOD);
                //\/ erro logo abaixo NullPointerException
                pstm.setString(1, pridetalhe.getPrioridade());
                rs = pstm.executeQuery();
                while(rs.next()){
                    pridetalhe = new PrioridadeDetalhe();
                    pridetalhe.setIdPrioridadeDetalhe(rs.getLong("idPrioridadeDetalhe"));
                }
            } catch (SQLException ex) {
                throw new DAOException("Erro no SQL", ex);
            } finally {
                if(pstm!=null){
                    try {
                        pstm.close();
                    } catch (SQLException ex) {
                        throw new DAOException("Erro ao fechar conexão", ex);
                    }
                } if(rs!=null){
                    try {
                        rs.close();    
                    } catch (SQLException ex) {
                        throw new DAOException("Erro ao fechar conexão", ex);
                    }           
                }
            }        
            return valor;
        }
    
    }

     

    Quando ela é executada o compilador já lança uma NullPointerException mostrando erro nessa linha, e logo a seguir... tem a form aonde ela é executada:

    public class FormNovaChamada extends javax.swing.JDialog {
        private Chamado chamado;
        private PrioridadeDetalhe pridetalhe;
        private PrioridadeDetalheModel model;
        private boolean editavel;
        private MySQLChamadoDAO chamdao;
        private MySQLPrioridadeDetalheDAO pridao;
        private FormInicio frmini;
        private MySQLDaoManager man;
        private ResultSet rs = null;
    
    
        private void cbPrioridadeDetalheActionPerformed(java.awt.event.ActionEvent evt) {                                                    
           try{
              MySQLDaoManager man = new MySQLDaoManager("root", "", "localhost", "atendimentos", 3306);  
              Long input = man.getPrioridadeDetalheDAO().getCodPrioridade();
              tfIdPrioridadeDetalhe.setText(String.valueOf(input));
           }  catch (SQLException ex){
               
           }  catch (DAOException ex) {
                Logger.getLogger(FormNovaChamada.class.getName()).log(Level.SEVERE, null, ex);
           }
        }  
    
    }

     

    Só estou em dúvida qual seria esse objeto que está faltando ai sendo que instanciei todos esses que estou usando, e o que falta colocar no código... Muito Obrigado!

  4. Boa Noite,

    Estou com problemas desde a Quarta passada quando de manhã liguei o computador e o sistema operacional (no meu caso era o Windows 10 que atualizei naquele link gratuito que a Microsoft mandou e utilizei por 4 meses até esse problema), tentei em algumas assistências técnicas obter as mídias originais para restaurar de volta meu notebook com a imagem padrão de fábrica e nada feito, ainda tentarei outras mais.

    Daí, para "quebrar o galho" acabei instalando o Windows 7 (só que o Home Basic) através de uma mídia que veio no computador do meu tio (Dell, só contém o SO lá) e baixei todos os drivers no site da Sony referentes ao meu modelo de notebook instalando um por um e quando reinicializei veio a tela.

    Minha dúvida seria como resolver esse problema dessa tela azul?! Meu notebook é um Sony Sve14a15fbb e o Windows é o 7 Home Premium, Muito Obrigado

    20160917_193332.jpg

  5. Boa Noite a todos!
    Estou com um problema na hora de fazer a conversão de formatos java.util.Date para java.sql.Date, só que não sei onde que tenho que converter de onde a onde para ficar compatível. Estou tentando fazer esse processo:


    Dai na Classe DAO ficou assim:

    public void inserir(Chamado o) throws DAOException {
    try{
    pstm = con.prepareStatement(INSERT);
    pstm.setString(1, o.getPrioridade());
    pstm.setDate(2, new java.sql.Date(o.getDataInicial().getTime()));
    //pstm.setDate(3, new Date(o.getDataFinal().getTime()));
    pstm.setTime(3, new Time(o.getHorarioInicial().getTime()));
    pstm.setTime(4, new Time(o.getHorarioFinal().getTime())); 
    (.....)

     

    Na classe JDialog:

    private void btSubmeterActionPerformed(java.awt.event.ActionEvent evt) { 
    try { 
    Chamado chamado = new Chamado();
    MySQLDaoManager man = new MySQLDaoManager("root", "", "localhost", "atendimentos", 3306);
    try {
    /* Essa é a linha que está causando o erro \/ */
    chamado.setDataInicial((Date) tfDataInicial.getValue());
    /* E essas chamadas de Time não sei se estão corretas, ainda não testei */
    chamado.setHorarioInicial((Time) tfHoraInicial.getValue());
    chamado.setHorarioFinal((Time) tfHoraFinal.getValue());
    (.....)

     

    E por fim na classe de modelo de negócio V.O.:

    public class Chamado {
    private Long idChamado;
    private String prioridade;
    private Date dataInicial, dataFinal;
    private Time horarioInicial, horarioFinal;
    
    public Chamado(String prioridade, Date dataInicial, Time horarioInicial, Time horarioFinal) {
    this.prioridade = prioridade;
    this.dataInicial = dataInicial;
    this.dataFinal = dataFinal;
    this.horarioInicial = horarioInicial;
    this.horarioFinal = horarioFinal;
    }
    
    public Chamado(){
    this.prioridade = getPrioridade();
    this.dataInicial = getDataInicial();
    this.horarioInicial = getHorarioInicial();
    this.horarioFinal = getHorarioFinal();
    /* tentei isso também e nada feito */
    //this.dataInicial = new Date();
    //this.horarioInicial = new Time();
    //this.horarioFinal = new Time();
    }

     

    Já depurei, já tentei converter na JDialog colocando new java.sql.Date, coloquei JFormattedTextField para receber esses dados de data e hora e nada feito... como faço para resolver isso?! Muito Obrigado!

  6. Em 24/08/2016 às 16:28, Jones Damas disse:

    Coloque esse comando e.printStackTrace(); dentro do catch para ver detalhes do erro.

     

     

    Então, eu fiz isso agora, dai deu esse resultado:
     

    //botão delete
    java.lang.NullPointerException
    	at com.jdbc.buscarfuncionarios.dao.FuncionarioDAO.excluir(FuncionarioDAO.java:93)
    	at com.jdbc.buscarfuncionarios.view.FuncionarioSearchView.btDeleteFuncActionPerformed(FuncionarioSearchView.java:241)
    	at com.jdbc.buscarfuncionarios.view.FuncionarioSearchView.access$300(FuncionarioSearchView.java:18)
    	at com.jdbc.buscarfuncionarios.view.FuncionarioSearchView$4.actionPerformed(FuncionarioSearchView.java:95)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    	at java.awt.Component.processMouseEvent(Component.java:6535)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    	at java.awt.Component.processEvent(Component.java:6300)
    	at java.awt.Container.processEvent(Container.java:2236)
    	at java.awt.Component.dispatchEventImpl(Component.java:4891)
    	at java.awt.Container.dispatchEventImpl(Container.java:2294)
    	at java.awt.Component.dispatchEvent(Component.java:4713)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    	at java.awt.Container.dispatchEventImpl(Container.java:2280)
    	at java.awt.Window.dispatchEventImpl(Window.java:2750)
    	at java.awt.Component.dispatchEvent(Component.java:4713)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    	at java.awt.EventQueue.access$500(EventQueue.java:97)
    	at java.awt.EventQueue$3.run(EventQueue.java:709)
    	at java.awt.EventQueue$3.run(EventQueue.java:703)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    	at java.awt.EventQueue$4.run(EventQueue.java:731)
    	at java.awt.EventQueue$4.run(EventQueue.java:729)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
    
    //botão inserir
        java.lang.NullPointerException
    	at com.jdbc.buscarfuncionarios.view.FuncionarioAddView.salvarFuncionario(FuncionarioAddView.java:278)
    	at com.jdbc.buscarfuncionarios.view.FuncionarioAddView.btOkActionPerformed(FuncionarioAddView.java:179)
    	at com.jdbc.buscarfuncionarios.view.FuncionarioAddView.access$000(FuncionarioAddView.java:22)
    	at com.jdbc.buscarfuncionarios.view.FuncionarioAddView$1.actionPerformed(FuncionarioAddView.java:83)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    	at java.awt.Component.processMouseEvent(Component.java:6535)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    	at java.awt.Component.processEvent(Component.java:6300)
    	at java.awt.Container.processEvent(Container.java:2236)
    	at java.awt.Component.dispatchEventImpl(Component.java:4891)
    	at java.awt.Container.dispatchEventImpl(Container.java:2294)
    	at java.awt.Component.dispatchEvent(Component.java:4713)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    	at java.awt.Container.dispatchEventImpl(Container.java:2280)
    	at java.awt.Window.dispatchEventImpl(Window.java:2750)
    	at java.awt.Component.dispatchEvent(Component.java:4713)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    	at java.awt.EventQueue.access$500(EventQueue.java:97)
    	at java.awt.EventQueue$3.run(EventQueue.java:709)
    	at java.awt.EventQueue$3.run(EventQueue.java:703)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    	at java.awt.EventQueue$4.run(EventQueue.java:731)
    	at java.awt.EventQueue$4.run(EventQueue.java:729)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
    	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
    	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
    	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
    	at java.awt.Dialog.show(Dialog.java:1084)
    	at java.awt.Component.show(Component.java:1673)
    	at java.awt.Component.setVisible(Component.java:1625)
    	at java.awt.Window.setVisible(Window.java:1014)
    	at java.awt.Dialog.setVisible(Dialog.java:1005)
    	at com.jdbc.buscarfuncionarios.view.FuncionarioSearchView.btNovoFuncActionPerformed(FuncionarioSearchView.java:162)
    	at com.jdbc.buscarfuncionarios.view.FuncionarioSearchView.access$100(FuncionarioSearchView.java:18)
    	at com.jdbc.buscarfuncionarios.view.FuncionarioSearchView$2.actionPerformed(FuncionarioSearchView.java:81)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    	at java.awt.Component.processMouseEvent(Component.java:6535)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    	at java.awt.Component.processEvent(Component.java:6300)
    	at java.awt.Container.processEvent(Container.java:2236)
    	at java.awt.Component.dispatchEventImpl(Component.java:4891)
    	at java.awt.Container.dispatchEventImpl(Container.java:2294)
    	at java.awt.Component.dispatchEvent(Component.java:4713)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    	at java.awt.Container.dispatchEventImpl(Container.java:2280)
    	at java.awt.Window.dispatchEventImpl(Window.java:2750)
    	at java.awt.Component.dispatchEvent(Component.java:4713)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    	at java.awt.EventQueue.access$500(EventQueue.java:97)
    	at java.awt.EventQueue$3.run(EventQueue.java:709)
    	at java.awt.EventQueue$3.run(EventQueue.java:703)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    	at java.awt.EventQueue$4.run(EventQueue.java:731)
    	at java.awt.EventQueue$4.run(EventQueue.java:729)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

    Praticamente a mesma coisa também no alterar, todos gerando a mesma exceção dai agora só não sei como tratar esse tipo de exceção

  7. Bom dia pessoal, 
    Estou com um problema aqui, esse código peguei de um exemplo e modifiquei poucas coisas nele como por exemplo as classes, objetos, métodos e a forma de declarar cada statement e preparedStatement na classe DAO, do restante mantive a mesma coisa, a aplicação está listando normalmente os dados inseridos no banco (inseri eles através do cmd) e dá para fazer as pesquisas através do ID esse sendo auto incremento. O problema vem quando tento inserir, alterar ou excluir algum dado que está fazendo ele gerar aquelas chatas exceções. 

    Abaixo seguem trechos das partes do código que constam os erros:

     

    /* Evento Deletar public class FuncionarioSearchView extends javax.swing.JFrame */  
    private void btDeleteFuncActionPerformed(java.awt.event.ActionEvent evt) {                                               
              
            try{  
               //obter a linha selecionada   
               int linha = table.getSelectedRow();  
               //certificar-se que a linha foi selecionada  
               if (linha < 0){  
                   JOptionPane.showMessageDialog(FuncionarioSearchView.this, "Você deve selecionar uma linha", "Erro",   
                           JOptionPane.ERROR_MESSAGE);  
                  return;  
               }  
               //preparar usuário  
               int resposta = JOptionPane.showConfirmDialog(FuncionarioSearchView.this, "Deseja deletar esse usuário? ",  
                       "Deletar Usuário", JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE);  
                  
               if(resposta != JOptionPane.YES_OPTION){  
                   return;  
               }  
               //obter o seguinte funcionário  
               Funcionario funcTemp = (Funcionario) table.getValueAt(linha, FuncionarioModelo.OBJECT_COL);  
                 
               //deletar funcionário  
               funcdao.excluir(funcTemp.getId());  
                 
               //atualizar GUI  
               atualizarFuncionarios();  
                 
            } catch (Exception e){  
               JOptionPane.showMessageDialog(FuncionarioSearchView.this,  
                       "Erro ao excluir funcionário: " + e.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);  
            }          
        }       
      
    /* Evento Alterar public class FuncionarioSearchView chamando a classe public class FuncionarioUpdateView extends javax.swing.JDialog */  
    private void btAlterarFuncActionPerformed(java.awt.event.ActionEvent evt) {                                                
              
            //obter dados do item selecionado  
            int linha = table.getSelectedRow();  
              
            //certificar que a linha foi selecionada  
            if(linha < 0){  
               JOptionPane.showMessageDialog(FuncionarioSearchView.this,   
                       "Você deve selecionar um funcionario na lista", "Erro", JOptionPane.ERROR_MESSAGE);  
               return;  
            }  
            //receber dados do empregado seguinte  
            Funcionario funcionarioTemp = (Funcionario) table.getValueAt(linha, FuncionarioModelo.OBJECT_COL);  
              
            //criar JDialog  
            FuncionarioUpdateView update = new FuncionarioUpdateView(FuncionarioSearchView.this, funcdao, funcionarioTemp, true);  
              
            //mostrar JDialog  
            update.setVisible(true);  
              
        }   
      
    /* Evento Adicionar Funcionário public class FuncionarioAddView extends javax.swing.JDialog */  
    protected void salvarFuncionario() {  
            //receber dados da gui  
            String nome = tfNome.getText();  
            String sobrenome = tfSobrenome.getText();  
            String email = tfEmail.getText();  
            String departamento = tfDepartamento.getText();  
            String salarioStr = tfSalario.getText();  
              
            BigDecimal salario = convertStringToBigDecimal(salarioStr);  
                  
            Funcionario funcionarioTemp = new Funcionario(nome, sobrenome, email, departamento, salario);  
              
            try{  
                //salvar no bd  
                funcdao.inserir(funcionarioTemp);  
                //fechar JDialog  
                setVisible(false);  
                dispose();  
                //atualizar lista da gui  
                funcview.atualizarFuncionarios();  
                //mostrar mensagem de operação sucedida  
                JOptionPane.showMessageDialog(funcview, "Funcionario adicionado. ", "Adicionado!", JOptionPane.INFORMATION_MESSAGE);  
            }catch(Exception e){  
                JOptionPane.showMessageDialog(funcview, "Erro ao salvar funcionário: " + e.getMessage() , "Erro", JOptionPane.ERROR_MESSAGE);  
            }  
        }  

     

    Dai na execução quando vou inserir ou deletar ele não executa o try e vai direto para o bloco catch exibindo a mensagem de erro: "Erro ao excluir funcionário: null" ou para inserir "Erro ao inserir funcionário: null" e para alterar mesma coisa, quando eu seleciono um funcionário da lista e clico alterar ele dá a mensagem Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException. 

    Como eu faço agora para achar o objeto que está faltando e corrigir essa exceção?! Estou perdido aqui 
    Muito Obrigado!

    erro1.jpg

    erro2.jpg

    SwingGuiJdbc.rar

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!