Witam mam tak napisany kod i nie wiem dlaczego zwraca mi java.lang.NullPointerException.
package sql;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
//import com.mysql.jdbc.Driver;
/**
*
* @author Bartłomiej
*/
public class DBConnection
{
final static String URL = "jdbc:mysql://*******/bwasik_biblioteka";
final static String USER = "*****";
final static String PASSWORD = ********;
private static Connection polaczenie;
public static Connection getConnection()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
if (polaczenie == null || polaczenie.isClosed())
{
polaczenie = DriverManager.getConnection(URL, USER, PASSWORD);
}
}
catch (ClassNotFoundException e)
{
System.err.println("METHOD: getConnection ERROR :not find driver");
}
catch (SQLException e)
{
System.err.println("METHOD: getConnection ERROR: " + e.getMessage());
}
finally
{
return polaczenie;
}
}
public static void closeConnection()
{
try
{
if(polaczenie!=null)
{
polaczenie.close();
}
}
catch (SQLException e)
{
System.err.println("METHOD : closeConnection ERROR: " + e.getMessage());
}
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ziarna;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;
/**
*
* @author Bartłomiej
*/
@Entity
@Table(name = "Uzytkownik")
@XmlRootElement
@NamedQueries(
{
@NamedQuery(name = "Uzytkownik.findAll", query = "SELECT u FROM Uzytkownik u"),
@NamedQuery(name = "Uzytkownik.findByIdUzytkownik", query = "SELECT u FROM Uzytkownik u WHERE u.idUzytkownik = :idUzytkownik"),
@NamedQuery(name = "Uzytkownik.findByHaslo", query = "SELECT u FROM Uzytkownik u WHERE u.haslo = :haslo"),
@NamedQuery(name = "Uzytkownik.findByStatus", query = "SELECT u FROM Uzytkownik u WHERE u.status = :status")
})
public class Uzytkownik implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "idUzytkownik")
private Integer idUzytkownik;
@Basic(optional = false)
@Column(name = "Haslo")
private String haslo;
@Basic(optional = false)
@Column(name = "status")
private short status;
public Uzytkownik()
{
}
public Uzytkownik(Integer idUzytkownik)
{
this.idUzytkownik = idUzytkownik;
}
public Uzytkownik(Integer idUzytkownik, String haslo, short status)
{
this.idUzytkownik = idUzytkownik;
this.haslo = haslo;
this.status = status;
}
public Integer getIdUzytkownik()
{
return idUzytkownik;
}
public void setIdUzytkownik(Integer idUzytkownik)
{
this.idUzytkownik = idUzytkownik;
}
public String getHaslo()
{
return haslo;
}
public void setHaslo(String haslo)
{
this.haslo = haslo;
}
public short getStatus()
{
return status;
}
public void setStatus(short status)
{
this.status = status;
}
@Override
public int hashCode()
{
int hash = 0;
hash += (idUzytkownik != null ? idUzytkownik.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object)
{
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Uzytkownik))
{
return false;
}
Uzytkownik other = (Uzytkownik) object;
if ((this.idUzytkownik == null && other.idUzytkownik != null) || (this.idUzytkownik != null && !this.idUzytkownik.equals(other.idUzytkownik)))
{
return false;
}
return true;
}
@Override
public String toString()
{
return "ziarna.Uzytkownik[ idUzytkownik=" + idUzytkownik + " ]";
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ziarna;
import sql.DBConnection;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collection;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
/**
*
* @author Bartłomiej
*/
@ManagedBean
@RequestScoped
public class UzytkownikDAO
{
/**
* Creates a new instance of UzytkownikDAO
*/
private Collection<Uzytkownik> uzytkownicy;
public UzytkownikDAO()
{
}
public Collection<Uzytkownik> getUzytkownicy()
{
try
{
Connection polaczenie = DBConnection.getConnection();
ResultSet rs = polaczenie.createStatement().executeQuery("select * from Uzytkownik");
while (rs.next())
{
Uzytkownik uzytkownik = new Uzytkownik();
uzytkownik.setIdUzytkownik(rs.getInt("idUzytkownik"));
uzytkownik.setHaslo(rs.getString("Haslo"));
}
polaczenie.close();
}
catch (SQLException e)
{
System.err.println("METHOD: getUzytkownik ERROR: " + e.getMessage());
}
return uzytkownicy;
}
public void setUzytkownicy(Collection<Uzytkownik> uzytkownicy)
{
this.uzytkownicy = uzytkownicy;
}
}
faces-config.xml
<?xml version='1.0' encoding='UTF-8'?>
<!-- =========== FULL CONFIGURATION FILE ================================== -->
<faces-config version="2.1"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd">
<managed-bean>
<menaged-bean-name>UzytkownikDAO</menaged-bean-name>
<managed-bean-class>ziarna.UzytkownikDAO</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
index.html
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<table>
<tr>
<th>Imie</th>
</tr>
<ui:repeat value="#{uzytkownikDAO.uzytkownicy}" var="ksiazka">
<tr>
<td>1</td>
</tr>
</ui:repeat>
</table>
</h:body>
</html>