Instalacja bibliotek

Windows

Podążamy za instrukcjami ze strony MATLABA. To znaczy:

  1. Ściągamy sterownik JDBC.
  2. Rozpakowujemy go w rosądnym miejscu
  3. Ustawiamy ścieżkę do rozpakowanego pliku .jar

Ubuntu

Podążamy za instrukcjami ze strony MATLABA. Zainstaluj bibliotekę

apt-get install libmysql-java

Biblioteka znajduje się w

/usr/share/java/mysql-connector-java-5.1.28.jar 

Dołączanie sterownika do ścieżki statytcznych klas Java

W MATLAB-ie, wpisujemy komendę aby znaleźć folder z ustawieniami

prefdir

I w tym folderze tworzymy plik javaclasspath.txt ze statycznymi ścieżkami to bibliotek javowych. Należy wpisać tam ścieżkę do pliku *.jar

Ubuntu

Do pliku należy wpisać jedną linię ze ścieżką do pliku /usr/share/java/mysql-connector-java-version.jar

/usr/share/java/mysql-connector-java-5.1.28.jar 

Połączenie z bazą

Łączymy się z bazą:

conn = database('db_name','user_id','password', 'com.mysql.jdbc.Driver',  'jdbc:mysql://localhost:3306/db_name');

gdzie db_name to nazwa bazy z która chcemy się połączyć (występuje w dwóch miejscach w powyższej komendzie!), user_id to nazwa uzytkownika mysql, a password to oczywiście hasło.

Możemy sprawdzić czy połączenie zostało poprawnie nawiązane, wykonujac przykładowe zapytanie

tables(conn)

Jeśli nie działa, to sprawdźmy jak wygląda połączenie

conn

Jeśli natrafiamy na problem ‘Unable to find JDBC driver.’, to oznacza, że nie udało nam się ustawić ścieżki do pliku jar. Możemy to naprawić w sesji (trzeba powtarzać przy każdym uruchomieniu MATLAB-a) dodają ścieżkę

javaaddpath '/ścieżka_do_pliku/mysql-connector-java-5.1.28.jar'

Połączenie zamykamy poleceniem

close(conn)

Korzystanie z połączenia

Przykłady będą odnosić się do bazy ratings, z której korzystaliśmy na laboratorium.

SELECT

Zapytanie SELECT wykonujemy ,,na dwa tempa"

e = exec(conn,'SELECT * FROM Movie');
dat=fetch(e);

Aby obejrzeć wynik zapytania wykonujemy

dat.Data{2,1}
dat.Data

Możemy też pobrać określoną liczbę rekordów

dat=fetch(e,2);

INSERT, UPDATE, DELETE

r=exec(conn, 'insert into Movie(`mID`, `title`, `year`, `director`) values(109, ''Poranek Kojota'', 2001, ''Olaf Lubaszenko'')');

Na koniec zamykamy połączenie

close(conn)