Robię aplikację webową z wykorzystaniem framework'a Vaadin i bazy danych SQLite oraz serverem Apache Tomcat v8.0. Problem polega na połączeniu z bazą danych. Stworzyłem na początek klasę do testów z bazą danych i działa to poprawnie. Lecz gdy chcę dodać dane do bazy klikając button na 'stronie' pojawia się błąd połączenia z bazą danych i braku sterownika jdbc (sterownik jest, z klasą testową jak już wspomniałem działa). Oto kod:
public class Baza
{
public static final String DRIVER = "org.sqlite.JDBC";
public static final String DB_URL = "jdbc:sqlite:baza.db";
private Connection polaczenie;
private Statement stat;
public Baza()
{
try
{
Class.forName(Baza.DRIVER);
}
catch (ClassNotFoundException e)
{
System.err.println("Brak sterownika JDBC");
e.printStackTrace();
}
try
{
polaczenie = DriverManager.getConnection(DB_URL);
stat = polaczenie.createStatement();
System.out.println("polaczono");
}
catch (SQLException e)
{
System.err.println("Problem z otwarciem polaczenia");
e.printStackTrace();
}
createTables();
}
public boolean createTables()
{
String createUzytkownik = "CREATE TABLE IF NOT EXISTS uzytkownik (id_uzytkownik INTEGER PRIMARY KEY AUTOINCREMENT, login varchar(255), haslo varchar(255), email varchar(255))";
String createDane = "CREATE TABLE IF NOT EXISTS dane (id_dane INTEGER PRIMARY KEY AUTOINCREMENT, id_uzytkownik INTEGER, kanalRSS varchar(255), dataodczytu Date)";
try {
stat.execute(createUzytkownik);
stat.execute(createDane);
} catch (SQLException e) {
System.err.println("Blad przy tworzeniu tabeli");
e.printStackTrace();
return false;
}
return true;
}
public boolean insertUzytkownik(String login, String haslo, String email)
{
try
{
PreparedStatement prepStmt = polaczenie.prepareStatement(
"insert into uzytkownik values (NULL, ?, ?, ?);");
prepStmt.setString(1, login);
prepStmt.setString(2, haslo);
prepStmt.setString(3, email);
prepStmt.execute();
}
catch (SQLException e)
{
System.err.println("Blad przy wstawianiu czytelnika");
e.printStackTrace();
return false;
}
return true;
}
Z tego co udało mi się przeczytać, potrzebny jest framework(?) Hibernate badz SQLContainer, ale za nic nie mogę znaleźć jak to dokładnie zrobić. Czy miał ktoś kiedyś z tym styczność? Bardzo liczę na pomoc.