Программирование на Java 2020-2021 учебный год Лекция 7 Работа с базами данных Пример 1 mysql-connector-java-8.0.21.jar Компиляция: javac testdrive.java Запуск: java -classpath mysql-connector-java-8.0.21.jar;. testdrive public class testdrive{ public static void main(String[] args) { try{ Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance(); System.out.println("Connection succesfull!"); } catch(Exception ex){ System.out.println("Connection failed..."); System.out.println(ex); } } } Пример 2 import java.sql.Connection; import java.sql.DriverManager; public class testdrive3{ public static void main(String[] args) { try{ String url = "jdbc:mysql://localhost/blog1"; String username = "root"; String password = ""; Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance(); try (Connection conn = DriverManager.getConnection(url, username, password)){ System.out.println("Connection to Blog1 DB succesfull!"); conn.close(); System.out.println("Connection to Blog1 DB closed..."); } } catch(Exception ex){ System.out.println("Connection failed..."); System.out.println(ex); } } } Пример 3 String url = "jdbc:mysql://localhost/blog1?serverTimezone=Europe/Moscow&useSSL=false"; Пример 4 Файл: database.properties url = jdbc:mysql://localhost/blog1?serverTimezone=Europe/Moscow&useSSL=false dbname = blog1 username = root password = import java.sql.*; import java.nio.file.*; import java.io.*; import java.util.*; public class testdrive4{ public static void main(String[] args) { try{ Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance(); try (Connection conn = getConnection()){ System.out.printf("Connection to %s DB succesfull!", getDBName()); conn.close(); System.out.println("Connection to Blog1 DB closed..."); } } catch(Exception ex){ System.out.println("Connection failed..."); System.out.println(ex); } } public static Connection getConnection() throws SQLException, IOException{ Properties props = new Properties(); try(InputStream in = Files.newInputStream(Paths.get("database.properties"))){ props.load(in); } String url = props.getProperty("url"); String username = props.getProperty("username"); String password = props.getProperty("password"); return DriverManager.getConnection(url, username, password); } public static String getDBName() throws SQLException, IOException{ Properties props = new Properties(); try(InputStream in = Files.newInputStream(Paths.get("database.properties"))){ props.load(in); } String dbname = props.getProperty("dbname"); return dbname; } } Пример 5 import java.sql.*; public class testdrive5{ public static void main(String[] args) { try{ String url = "jdbc:mysql://localhost/blog1?serverTimezone=Europe/Moscow&useSSL=false"; String username = "root"; String password = ""; Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance(); try (Connection conn = DriverManager.getConnection(url, username, password)){ Statement statement = conn.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM users"); System.out.printf("%2s. %14s %8s \n", "id", "name", "pass"); while(resultSet.next()){ int id = resultSet.getInt(1); String name = resultSet.getString(2); String pass = resultSet.getString(3); System.out.printf("%2d. %14s %8s \n", id, name, pass); } conn.close(); System.out.println("Connection to Blog1 DB closed..."); } } catch(Exception ex){ System.out.println("Connection failed..."); System.out.println(ex); } } } Пример 6 import java.sql.*; public class testdrive6{ public static void main(String[] args) { try{ String url = "jdbc:mysql://localhost/blog1?serverTimezone=Europe/Moscow&useSSL=false"; String username = "root"; String password = ""; Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance(); try (Connection conn = DriverManager.getConnection(url, username, password)){ Statement statement = conn.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM users"); System.out.printf("%2s. %14s %8s \n", "id", "name", "pass"); while(resultSet.next()){ int id = resultSet.getInt("id_user"); String name = resultSet.getString("name"); String pass = resultSet.getString("pass"); System.out.printf("%2d. %14s %8s \n", id, name, pass); } conn.close(); System.out.println("Connection to Blog1 DB closed..."); } } catch(Exception ex){ System.out.println("Connection failed..."); System.out.println(ex); } } }
Перейти. Дубаков А.А. Введение в объектноориентированное программирование на Java: учебное пособие – СПб: Университет ИТМО, 2016. – 248 с.
Лабораторная работа 7 Работа с базами данных Выполнить в IDE Android Studio https://sites.google.com/site/ifizmat/java/lab-03
Перейти. БД SQLite в Android-приложении
Перейти. БД SQLite в Android-приложении