oktatas:programozas:java:java_adatbazis:sqlite:kezdes
Tartalomjegyzék
SQLite
- Szerző: Sallai András
- Copyright © 2013, Sallai András
- Szerkesztve: 2013, 2014, 2015, 2022, 2023
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Az SQLite
Egy ACID-kompatibilis relációs adatbázis-kezelő rendszer.
Az SQLite motor a programba beépül, nem külön folyamat éri el az adatbázist.
Egy SQLite adatbázis egyetlen fájlban tárolódik, amelynek szokásos kiterjesztése:
- .sqlite
- .db
Szükséges eszközök beszerzése
A meghajtó elérhetősége:
Maven elemek
- pom.xml
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc --> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.34.0</version> </dependency>
Példakód
Ebben a példában Makefile-t használunk a fordításra. Ehhez szükség van egy make nevű parancsra, a fordításhoz és a futtatáshoz. Ha Visual Studio Code-t használunk, nincs szükség a Makefile használatára.
- Makefile
SOURCES=Program01.java \ Sqlite.java all:$(SOURCES) javac -encoding utf8 $(SOURCES) run: java -cp .:sqlite-jdbc-3.7.2.jar Program01
- Sqlite.java
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; class Sqlite { public Connection open() { Connection conn = null; try { conn = tryOpen(); }catch(SQLException ex) { System.err.println("Hiba a megnyitás során!"); }catch(ClassNotFoundException ex) { System.err.println("Hiba a meghajtó betöltése során!"); } return conn; } public Connection tryOpen() throws SQLException, ClassNotFoundException { Class.forName("org.sqlite.JDBC"); return DriverManager.getConnection("jdbc:sqlite:zoldzrt.sqlite"); } public void update(Connection conn, String sql) { try { tryUpdate(conn, sql); }catch(SQLException ex) { System.err.println("Hiba az sql végrehajtása során!"); } } public void tryUpdate(Connection conn, String sql) throws SQLException { Statement stmt = conn.createStatement(); stmt.executeUpdate(sql); } public ResultSet query(Connection conn, String sql) { ResultSet rs = null; try { rs = tryQuery(conn, sql); }catch(SQLException ex) { System.err.println("Hiba a lekérdezés során!"); } return rs; } public ResultSet tryQuery(Connection conn, String sql) throws SQLException { ResultSet rs = null; Statement stmt = conn.createStatement(); stmt.setQueryTimeout(30); rs = stmt.executeQuery(sql); return rs; } public void close(Connection conn) { try { tryClose(conn); }catch(SQLException ex) { System.err.println("Hiba a bezárás során!"); } } public void tryClose(Connection conn) throws SQLException { conn.close(); } }
Vegyük a kódból a kapcsolat stringet:
DriverManager.getConnection("jdbc:sqlite:zoldzrt.sqlite");
A string vége, az zoldzrt.sqlite a fájl neve.
- Program01.java
import java.sql.ResultSet; import java.sql.Connection; import java.sql.SQLException; class Program01 { public static void main(String[] args) { Sqlite sqlite = new Sqlite(); Connection conn = sqlite.open(); sqlite.update(conn, "insert into dol2 (nev) values('Peres Iván')"); String sql = "select nev from dol2"; ResultSet rs = sqlite.query(conn, sql); try { while(rs.next()) { System.out.println(rs.getString("nev")); } }catch(SQLException ex) { System.err.println("Hiba az eredményhalmaz feldolgozása során!"); } sqlite.close(conn); } }
Fordítás
Fordítás:
javac Program01.java
Futtatás windows alatt:
java -classpath ".;sqlite-jdbc-(VERSION).jar" Program01
Futtatás macOS és Linux alatt:
java -classpath ".:sqlite-jdbc-(VERSION).jar" Program01
Linkek
- SQLite programok
- SQL nyelv:
oktatas/programozas/java/java_adatbazis/sqlite/kezdes.txt · Utolsó módosítás: 2024/01/14 19:13 szerkesztette: admin