WebProg-2014/Gyakorlat8

A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2015. április 8., 11:49-kor történt szerkesztése után volt.

SQLite próba

Ez a rész csak azoknak szól akik érdekeltek adatbázis kezelésben, nem lesz számonkérve, a nagyháziban sem kötelezõ használni.

Egy olyan megoldást fogunk használni amihez semmilyen sql telepítés nem lesz szükséges. Az omnibuson van sqlite3 így azzal játszhattok, de saját gépen nem kell majd telepítenetek, hogy javaban tudjátok használni.

  • Elsõ lépés, hogy töltsétek le innen a sqlite-jdbc-3.7.2.jar file-t.
  • Majd hozzatok létre egy új projectet. Ebbe dependency-ket importáljátok ezt a .jar-t. (A projectet kijelölve, jobb klikk és properties, majd java build path, itt a libraries fül, végül add external jars gomb.)
  • Ha a souce-t is hozzá akarjátok rendelni (hogy lássatok osztályleírást meg ilyesmit):
    • Töltsétek le a korábbi linkrõl a javadoc.jar-ra végzõdõ file-t, a megfelelõ verzióhoz.
    • Nyissátok le a projectet, majd referenced libraries itt jobb klikk valamelyikre, properties, gyõzõdjetek meg, hogy a java source attachment van kijelölve bal oldalt. Ha igen, akkor external jar gomb, és jelöljétek ki azt a source file-t, ami az épp kiválasztott library-hez tartozik.
  • Végül próbáljátok ki ezt a kódot, ha minden jól ment akkor a project mappátokban keletkezik egy sample.db file.
import java.sql.*;
 
public class SqlTest
{
  public static void main(String[] args) throws ClassNotFoundException
  {
    // load the sqlite-JDBC driver using the current class loader
    Class.forName("org.sqlite.JDBC");
 
    Connection connection = null;
    try
    {
      // create a database connection
      connection = DriverManager.getConnection("jdbc:sqlite:sample.db");
      Statement statement = connection.createStatement();
      statement.setQueryTimeout(30);  // set timeout to 30 sec.
 
      statement.executeUpdate("drop table if exists person");
      statement.executeUpdate("create table person (id integer, name string)");
      statement.executeUpdate("insert into person values(1, 'leo')");
      statement.executeUpdate("insert into person values(2, 'yui')");
      ResultSet rs = statement.executeQuery("select * from person");
      while(rs.next())
      {
        // read the result set
        System.out.println("name = " + rs.getString("name"));
        System.out.println("id = " + rs.getInt("id"));
      }
    }
    catch(SQLException e)
    {
      // if the error message is "out of memory", 
      // it probably means no database file is found
      System.err.println(e.getMessage());
    }
    finally
    {
      try
      {
        if(connection != null)
          connection.close();
      }
      catch(SQLException e)
      {
        // connection close failed.
        System.err.println(e);
      }
    }
  }
}
Személyes eszközök