From bb285365e93aa9ee8ef67a0fada1e7eb47df32a7 Mon Sep 17 00:00:00 2001 From: VitaliyKrivoshchapov <69453241+VitaliyKrivoshchapov@users.noreply.github.com> Date: Mon, 7 Dec 2020 21:14:39 +0500 Subject: [PATCH 1/8] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=B1=D0=BE=D1=87=D0=B5?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BA=20=D0=B1=D0=B0=D0=B7=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 ++++ .idea/.name | 1 + .idea/compiler.xml | 16 +++++++ .idea/dataSources.xml | 15 ++++++ .idea/jarRepositories.xml | 20 ++++++++ .idea/libraries/Maven__antlr_antlr_2_7_7.xml | 13 +++++ .idea/libraries/Maven__dom4j_dom4j_1_6_1.xml | 13 +++++ .idea/libraries/Maven__junit_junit_4_12.xml | 13 +++++ .../Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 +++++ ...ernate_commons_annotations_4_0_5_Final.xml | 13 +++++ ..._hibernate_hibernate_core_4_3_10_Final.xml | 13 +++++ ...ence_hibernate_jpa_2_1_api_1_0_2_Final.xml | 13 +++++ ...ven__org_javassist_javassist_3_18_1_GA.xml | 13 +++++ .../Maven__org_jboss_jandex_1_1_0_Final.xml | 13 +++++ ...g_jboss_logging_jboss_logging_3_1_3_GA.xml | 13 +++++ ..._jboss_logging_annotations_1_2_0_Beta1.xml | 13 +++++ ...s_transaction_api_1_2_spec_1_0_0_Final.xml | 13 +++++ .../Maven__xml_apis_xml_apis_1_0_b2.xml | 13 +++++ .idea/misc.xml | 11 +++++ .idea/modules.xml | 8 ++++ .idea/vcs.xml | 6 +++ TaskJDBC.iml | 28 +++++++++++ pom.xml | 9 +++- src/main/java/jm/task/core/jdbc/Main.java | 47 ++++++++++++++++++- 24 files changed, 335 insertions(+), 3 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/compiler.xml create mode 100644 .idea/dataSources.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/libraries/Maven__antlr_antlr_2_7_7.xml create mode 100644 .idea/libraries/Maven__dom4j_dom4j_1_6_1.xml create mode 100644 .idea/libraries/Maven__junit_junit_4_12.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml create mode 100644 .idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_5_Final.xml create mode 100644 .idea/libraries/Maven__org_hibernate_hibernate_core_4_3_10_Final.xml create mode 100644 .idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml create mode 100644 .idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml create mode 100644 .idea/libraries/Maven__org_jboss_jandex_1_1_0_Final.xml create mode 100644 .idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_3_GA.xml create mode 100644 .idea/libraries/Maven__org_jboss_logging_jboss_logging_annotations_1_2_0_Beta1.xml create mode 100644 .idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_2_spec_1_0_0_Final.xml create mode 100644 .idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 TaskJDBC.iml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..27c1d1dd --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/../../../../../../:\Users\Vit\IdeaProjects\CoreTaskTemplate\.idea/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 00000000..24736517 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +TaskJDBC \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..9acf478f --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 00000000..f9505a4f --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,15 @@ + + + + + mysql.8 + true + com.mysql.jdbc.Driver + jdbc:mysql://localhost:3306/mydbtest + + + + Etc/UTC + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 00000000..712ab9d9 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__antlr_antlr_2_7_7.xml b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml new file mode 100644 index 00000000..b8d93d8e --- /dev/null +++ b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml b/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml new file mode 100644 index 00000000..14681ee8 --- /dev/null +++ b/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml new file mode 100644 index 00000000..d4110417 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 00000000..f58bbc11 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_5_Final.xml b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_5_Final.xml new file mode 100644 index 00000000..9ed6d297 --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_5_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_core_4_3_10_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_core_4_3_10_Final.xml new file mode 100644 index 00000000..0f9bf7c2 --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_hibernate_core_4_3_10_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml new file mode 100644 index 00000000..1d8ce405 --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml b/.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml new file mode 100644 index 00000000..1f907308 --- /dev/null +++ b/.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_jandex_1_1_0_Final.xml b/.idea/libraries/Maven__org_jboss_jandex_1_1_0_Final.xml new file mode 100644 index 00000000..d3cd0897 --- /dev/null +++ b/.idea/libraries/Maven__org_jboss_jandex_1_1_0_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_3_GA.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_3_GA.xml new file mode 100644 index 00000000..815ab4d8 --- /dev/null +++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_3_GA.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_annotations_1_2_0_Beta1.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_annotations_1_2_0_Beta1.xml new file mode 100644 index 00000000..715be298 --- /dev/null +++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_annotations_1_2_0_Beta1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_2_spec_1_0_0_Final.xml b/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_2_spec_1_0_0_Final.xml new file mode 100644 index 00000000..2ab91298 --- /dev/null +++ b/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_2_spec_1_0_0_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml b/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml new file mode 100644 index 00000000..c36e7171 --- /dev/null +++ b/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..2154258d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..882550cd --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/TaskJDBC.iml b/TaskJDBC.iml new file mode 100644 index 00000000..253e8419 --- /dev/null +++ b/TaskJDBC.iml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0605a4c0..224b36b4 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,7 @@ mysql mysql-connector-java - 5.1.38 + 8.0.20 @@ -47,6 +47,11 @@ hibernate-core 4.3.10.Final - + + mysql + mysql-connector-java + 5.1.47 + + \ No newline at end of file diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index f6e43b0f..b6275ce1 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,7 +1,52 @@ package jm.task.core.jdbc; +import com.mysql.fabric.jdbc.FabricMySQLDriver; + + + +import java.sql.Connection; +import java.sql.Driver; +import java.sql.DriverManager; +import java.sql.SQLException; + + public class Main { - public static void main(String[] args) { + //static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; + private static final String URL ="jdbc:mysql://localhost:3306/mydbtest?autoReconnect=true&useSSL=false"; + private static final String USERNAME = "root"; + private static final String PASSWORD = "root"; + + public static void main(String[] args) throws SQLException { + Connection connection = null; + Driver driver; + + try { + driver = new FabricMySQLDriver(); + System.out.println("Удалось загрузить драйвер"); + } catch (SQLException throwables) { + System.out.println("Не удалось загрузиь драйвер"); + return;// дальше нечего выполнять + } + try { + DriverManager.registerDriver(driver); + System.out.println("Удалось зареистрировать драйвер"); + } catch (SQLException throwables) { + System.out.println("Не удалось зарегистрировать драйвер"); + return; + } + try { + connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); + System.out.println("Создали коннект и рабоаем"); + } catch(SQLException ex){ + System.out.println("НЕ удалось создать соединение"); + return; + } + finally { + if(connection!=null) + connection.close(); + } + + //final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; // реализуйте алгоритм здесь } } From 2d47507d660b0c8b96e96fdb3768a06db6f8452c Mon Sep 17 00:00:00 2001 From: VitaliyKrivoshchapov <69453241+VitaliyKrivoshchapov@users.noreply.github.com> Date: Wed, 9 Dec 2020 21:24:10 +0500 Subject: [PATCH 2/8] =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=20=D0=BA=D0=BB=D0=B0=D1=81?= =?UTF-8?q?=D1=81=D0=B5=20Util=20=20=D0=B8=20=D0=B2=D1=8B=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=B8=D0=B7=20=D0=B1=D0=B0=D0=B7=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/dataSources.xml | 4 +- ...ven__mysql_mysql_connector_java_5_1_47.xml | 13 ++++ src/main/java/jm/task/core/jdbc/Main.java | 75 ++++++++++--------- src/main/java/jm/task/core/jdbc/Product.java | 27 +++++++ .../java/jm/task/core/jdbc/model/User.java | 8 ++ .../java/jm/task/core/jdbc/util/Util.java | 30 +++++++- 6 files changed, 119 insertions(+), 38 deletions(-) create mode 100644 .idea/libraries/Maven__mysql_mysql_connector_java_5_1_47.xml create mode 100644 src/main/java/jm/task/core/jdbc/Product.java diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index f9505a4f..6775395a 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -1,11 +1,11 @@ - + mysql.8 true com.mysql.jdbc.Driver - jdbc:mysql://localhost:3306/mydbtest + jdbc:mysql://localhost:3306/business diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_47.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_47.xml new file mode 100644 index 00000000..8ed561b0 --- /dev/null +++ b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_47.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index b6275ce1..f775f887 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,52 +1,57 @@ package jm.task.core.jdbc; import com.mysql.fabric.jdbc.FabricMySQLDriver; +import jm.task.core.jdbc.util.Util; - -import java.sql.Connection; -import java.sql.Driver; -import java.sql.DriverManager; -import java.sql.SQLException; +import java.net.PasswordAuthentication; +import java.sql.*; public class Main { //static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; - private static final String URL ="jdbc:mysql://localhost:3306/mydbtest?autoReconnect=true&useSSL=false"; + private static final String URL ="jdbc:mysql://localhost:3306/business?autoReconnect=true&useSSL=false"; private static final String USERNAME = "root"; private static final String PASSWORD = "root"; public static void main(String[] args) throws SQLException { - Connection connection = null; - Driver driver; - - try { - driver = new FabricMySQLDriver(); - System.out.println("Удалось загрузить драйвер"); - } catch (SQLException throwables) { - System.out.println("Не удалось загрузиь драйвер"); - return;// дальше нечего выполнять - } - try { - DriverManager.registerDriver(driver); - System.out.println("Удалось зареистрировать драйвер"); - } catch (SQLException throwables) { - System.out.println("Не удалось зарегистрировать драйвер"); - return; - } - try { - connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); - System.out.println("Создали коннект и рабоаем"); - } catch(SQLException ex){ - System.out.println("НЕ удалось создать соединение"); - return; - } - finally { - if(connection!=null) - connection.close(); + + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); + Statement statement = conn.createStatement(); + + ResultSet resSet = statement.executeQuery("select * from business.products"); + + while (resSet.next()){ + int id; + String name; + double price; + int shopID; + id = resSet.getInt("product_id"); + name = resSet.getString("product_name"); + price = resSet.getDouble("price"); + shopID = resSet.getInt("shop_id"); + Product product = new Product(id, name, price, shopID); + + System.out.println(product); } - //final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; - // реализуйте алгоритм здесь + statement.close(); + conn.close(); + + /* public void createUsersTable() { + String SQL = "CREATE TABLE IF NOT EXISTS `jmDatabase`.`" + table + "` (\n" + + " `id` ong NOT NULL AUTO_INCREMENT,\n" + + " `name` VARCHAR(45) NULL,\n" + + " `lastname` VARCHAR(45) NULL,\n" + + " `age` TINYINT NULL,\n" + + " PRIMARY KEY (`id`));"; + Statement statement = new Util; + try { + statement.executeUpdate(SQL); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + }*/ } } diff --git a/src/main/java/jm/task/core/jdbc/Product.java b/src/main/java/jm/task/core/jdbc/Product.java new file mode 100644 index 00000000..91a0681b --- /dev/null +++ b/src/main/java/jm/task/core/jdbc/Product.java @@ -0,0 +1,27 @@ +package jm.task.core.jdbc; + +public class Product { + private int id; + private String name; + private double price; + private int shopID; + + public Product(){ + } + + public Product(int id, String name, double price, int shopID) { + this.id = id; + this.name = name; + this.price = price; + this.shopID = shopID; + } + @Override + public java.lang.String toString() { + return "Product{" + + "id=" + id + + ", name='" + name + '\'' + + ", price=" + price + + ", shopID=" + shopID + + '}'; + } +} diff --git a/src/main/java/jm/task/core/jdbc/model/User.java b/src/main/java/jm/task/core/jdbc/model/User.java index 21b054f6..7164f4ce 100644 --- a/src/main/java/jm/task/core/jdbc/model/User.java +++ b/src/main/java/jm/task/core/jdbc/model/User.java @@ -59,4 +59,12 @@ public Byte getAge() { public void setAge(Byte age) { this.age = age; } + + @Override + public String toString(){ + return "User " + "name = " + name + + ", lastName='" + lastName + + ", age=" + age; + } + } diff --git a/src/main/java/jm/task/core/jdbc/util/Util.java b/src/main/java/jm/task/core/jdbc/util/Util.java index 59e462ba..cd3e38a9 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -1,5 +1,33 @@ package jm.task.core.jdbc.util; +import com.mysql.fabric.jdbc.FabricMySQLDriver; + +import java.sql.Connection; +import java.sql.Driver; +import java.sql.DriverManager; +import java.sql.SQLException; + public class Util { - // реализуйте настройку соеденения с БД + private static final String URL ="jdbc:mysql://localhost:3306/business?autoReconnect=true&useSSL=false"; + private static final String USERNAME = "root"; + private static final String PASSWORD = "root"; + + private Connection connection; + public Util(){// в конструкторе регистрируем драйвер, а соединение в методе + try { + DriverManager.registerDriver(new FabricMySQLDriver()); + } catch (SQLException ex) { + System.out.println("Ошибка регистриции драйвера"); + return; + } + } + + public Connection getConnection(String url, String username, String password) throws SQLException { + if (connection != null) + return connection; + connection = DriverManager.getConnection(url, username, password); + System.out.println("Соединение установленно"); + return connection; + } + } From 695bb596c7d235a376226f2f5ef3c56daedbe82c Mon Sep 17 00:00:00 2001 From: VitaliyKrivoshchapov <69453241+VitaliyKrivoshchapov@users.noreply.github.com> Date: Thu, 10 Dec 2020 12:34:23 +0500 Subject: [PATCH 3/8] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5?= =?UTF-8?q?=D1=82=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20=D1=83=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B1=D0=B0=D0=B7=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/jm/task/core/jdbc/Main.java | 51 +++---------------- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 1 + .../task/core/jdbc/service/UserService.java | 5 +- .../core/jdbc/service/UserServiceImpl.java | 43 +++++++++++++++- 4 files changed, 53 insertions(+), 47 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index f775f887..a624bd48 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,57 +1,22 @@ package jm.task.core.jdbc; import com.mysql.fabric.jdbc.FabricMySQLDriver; +import jm.task.core.jdbc.service.UserService; +import jm.task.core.jdbc.service.UserServiceImpl; import jm.task.core.jdbc.util.Util; - -import java.net.PasswordAuthentication; import java.sql.*; public class Main { - //static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; - private static final String URL ="jdbc:mysql://localhost:3306/business?autoReconnect=true&useSSL=false"; - private static final String USERNAME = "root"; - private static final String PASSWORD = "root"; public static void main(String[] args) throws SQLException { - Util util = new Util(); - Connection conn = util.getConnection(URL,USERNAME,PASSWORD); - Statement statement = conn.createStatement(); - - ResultSet resSet = statement.executeQuery("select * from business.products"); - - while (resSet.next()){ - int id; - String name; - double price; - int shopID; - id = resSet.getInt("product_id"); - name = resSet.getString("product_name"); - price = resSet.getDouble("price"); - shopID = resSet.getInt("shop_id"); - Product product = new Product(id, name, price, shopID); - - System.out.println(product); - } - - statement.close(); - conn.close(); - - /* public void createUsersTable() { - String SQL = "CREATE TABLE IF NOT EXISTS `jmDatabase`.`" + table + "` (\n" + - " `id` ong NOT NULL AUTO_INCREMENT,\n" + - " `name` VARCHAR(45) NULL,\n" + - " `lastname` VARCHAR(45) NULL,\n" + - " `age` TINYINT NULL,\n" + - " PRIMARY KEY (`id`));"; - Statement statement = new Util; - try { - statement.executeUpdate(SQL); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - }*/ + // new UserServiceImpl().createUsersTable();// добавление таблицы + + + // new UserServiceImpl().dropUsersTable();// Удаление таблицы + + } } diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java index a6c6c359..c3884d30 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -11,6 +11,7 @@ public UserDaoJDBCImpl() { public void createUsersTable() { + } public void dropUsersTable() { diff --git a/src/main/java/jm/task/core/jdbc/service/UserService.java b/src/main/java/jm/task/core/jdbc/service/UserService.java index 80542c68..c8a46a32 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserService.java +++ b/src/main/java/jm/task/core/jdbc/service/UserService.java @@ -2,12 +2,13 @@ import jm.task.core.jdbc.model.User; +import java.sql.SQLException; import java.util.List; public interface UserService { - void createUsersTable(); + void createUsersTable() throws SQLException; - void dropUsersTable(); + void dropUsersTable() throws SQLException; void saveUser(String name, String lastName, byte age); diff --git a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java index b05bd191..166ecb20 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -1,16 +1,55 @@ package jm.task.core.jdbc.service; import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.util.Util; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; import java.util.List; public class UserServiceImpl implements UserService { - public void createUsersTable() { + private static final String URL ="jdbc:mysql://localhost:3306/business?autoReconnect=true&useSSL=false"; + private static final String USERNAME = "root"; + private static final String PASSWORD = "root"; + String table = "new_table2"; + public void createUsersTable() throws SQLException { + + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); + + Statement statement = conn.createStatement(); + String SQL = "CREATE TABLE IF NOT EXISTS `mydbtest2`.`"+ table + "` (\n" + + " `id` INT NOT NULL AUTO_INCREMENT,\n" + + " `name` VARCHAR(45) NULL,\n" + + " `lastname` VARCHAR(45) NULL,\n" + + " `age` TINYINT NULL,\n" + + " PRIMARY KEY (`id`));"; + //statement.executeUpdate("USE new_table2;");//назначить бд используемой + statement.executeUpdate(SQL); + System.out.println("Базу " +"new_table2" + " создали."); + statement.close(); + conn.close(); } - public void dropUsersTable() { + public void dropUsersTable() throws SQLException { + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); + //USE productsdb; + String SQL = "DROP TABLE IF EXISTS " + table; // String table = "new_table2"; + Statement statement = conn.createStatement(); + statement.executeUpdate("USE mydbtest2"); + try { + statement.executeUpdate(SQL); + } catch (SQLException throwables) { + System.out.println("Не удалось удалить"); + } + System.out.println("Базу " +"new_table2" + " удалили."); + statement.close(); + conn.close(); } public void saveUser(String name, String lastName, byte age) { From eb8862871206662408d3db1b55c3e2f3dfd1bf5a Mon Sep 17 00:00:00 2001 From: VitaliyKrivoshchapov <69453241+VitaliyKrivoshchapov@users.noreply.github.com> Date: Thu, 10 Dec 2020 13:03:58 +0500 Subject: [PATCH 4/8] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=8E=D0=B7=D0=B5=D1=80=D0=BE=D0=B2=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/jm/task/core/jdbc/Main.java | 6 ++++- .../task/core/jdbc/service/UserService.java | 2 +- .../core/jdbc/service/UserServiceImpl.java | 23 +++++++++++++++---- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index a624bd48..973ea256 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -12,8 +12,12 @@ public class Main { public static void main(String[] args) throws SQLException { - // new UserServiceImpl().createUsersTable();// добавление таблицы + new UserServiceImpl().createUsersTable();// добавление таблицы + new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); + new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); + new UserServiceImpl().saveUser("Зинаида", "Серебрякова", (byte) 69); + new UserServiceImpl().saveUser("Владимир", "Набоков", (byte) 65); // new UserServiceImpl().dropUsersTable();// Удаление таблицы diff --git a/src/main/java/jm/task/core/jdbc/service/UserService.java b/src/main/java/jm/task/core/jdbc/service/UserService.java index c8a46a32..d13a8850 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserService.java +++ b/src/main/java/jm/task/core/jdbc/service/UserService.java @@ -10,7 +10,7 @@ public interface UserService { void dropUsersTable() throws SQLException; - void saveUser(String name, String lastName, byte age); + void saveUser(String name, String lastName, byte age) throws SQLException; void removeUserById(long id); diff --git a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java index 166ecb20..e4609e9a 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -38,10 +38,10 @@ public void dropUsersTable() throws SQLException { Util util = new Util(); Connection conn = util.getConnection(URL,USERNAME,PASSWORD); - //USE productsdb; String SQL = "DROP TABLE IF EXISTS " + table; // String table = "new_table2"; - Statement statement = conn.createStatement(); - statement.executeUpdate("USE mydbtest2"); + Statement statement = conn.createStatement();// создаем соединение + + statement.executeUpdate("USE mydbtest2");// Установили бд в качестве используемой try { statement.executeUpdate(SQL); } catch (SQLException throwables) { @@ -52,7 +52,22 @@ public void dropUsersTable() throws SQLException { conn.close(); } - public void saveUser(String name, String lastName, byte age) { + public void saveUser(String name, String lastName, byte age) throws SQLException { + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); + String SQL = "INSERT `" + table + "`(`name`, `lastname`, `age`) VALUES ('" + + name + "', '" + lastName + "', '" + age + "')"; + Statement statement = conn.createStatement();// создаем соединение + + statement.executeUpdate("USE mydbtest2");// Установили бд в качестве используемой + try { + statement.executeUpdate(SQL); + } catch (SQLException throwables) { + System.out.println("Не удалось Сохранить юзера"); + } + System.out.println("Сохранили юзера"); + statement.close(); + conn.close(); } From 713197d84ef441ed8582fc194a7a5b2b4445649e Mon Sep 17 00:00:00 2001 From: VitaliyKrivoshchapov <69453241+VitaliyKrivoshchapov@users.noreply.github.com> Date: Fri, 11 Dec 2020 13:12:02 +0500 Subject: [PATCH 5/8] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5?= =?UTF-8?q?=D1=82=20=D0=B2=D1=81=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/compiler.xml | 2 +- TaskJDBC.iml | 2 +- pom.xml | 4 +- src/main/java/jm/task/core/jdbc/Main.java | 24 +++- src/main/java/jm/task/core/jdbc/Product.java | 27 ---- .../java/jm/task/core/jdbc/dao/UserDao.java | 13 +- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 123 ++++++++++++++++-- .../task/core/jdbc/service/UserService.java | 6 +- .../core/jdbc/service/UserServiceImpl.java | 68 ++-------- .../java/jm/task/core/jdbc/util/Util.java | 4 +- 10 files changed, 158 insertions(+), 115 deletions(-) delete mode 100644 src/main/java/jm/task/core/jdbc/Product.java diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 9acf478f..9477f95c 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -10,7 +10,7 @@ - + \ No newline at end of file diff --git a/TaskJDBC.iml b/TaskJDBC.iml index 253e8419..cfaea964 100644 --- a/TaskJDBC.iml +++ b/TaskJDBC.iml @@ -1,6 +1,6 @@ - + diff --git a/pom.xml b/pom.xml index 224b36b4..366808bf 100644 --- a/pom.xml +++ b/pom.xml @@ -13,8 +13,8 @@ org.apache.maven.plugins maven-compiler-plugin - 7 - 7 + 8 + 8 diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index 973ea256..d859805b 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,11 +1,16 @@ package jm.task.core.jdbc; import com.mysql.fabric.jdbc.FabricMySQLDriver; +import jm.task.core.jdbc.model.User; import jm.task.core.jdbc.service.UserService; import jm.task.core.jdbc.service.UserServiceImpl; import jm.task.core.jdbc.util.Util; - +import java.util.Iterator; import java.sql.*; +import java.util.List; +import java.util.ArrayList; + + public class Main { @@ -14,12 +19,19 @@ public static void main(String[] args) throws SQLException { new UserServiceImpl().createUsersTable();// добавление таблицы - new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); - new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); - new UserServiceImpl().saveUser("Зинаида", "Серебрякова", (byte) 69); - new UserServiceImpl().saveUser("Владимир", "Набоков", (byte) 65); + //new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); + //new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); + //new UserServiceImpl().saveUser("Зинаида", "Серебрякова", (byte) 69); + //new UserServiceImpl().saveUser("ВладимирДоп", "Набоков", (byte) 65); + + //new UserServiceImpl().removeUserById(3); + + + List arr = new UserServiceImpl().getAllUsers(); + arr.stream().forEach(user-> System.out.println(user.toString())); - // new UserServiceImpl().dropUsersTable();// Удаление таблицы + //new UserServiceImpl().cleanUsersTable();// Раблтет + //new UserServiceImpl().dropUsersTable();// Удаление таблицы } diff --git a/src/main/java/jm/task/core/jdbc/Product.java b/src/main/java/jm/task/core/jdbc/Product.java deleted file mode 100644 index 91a0681b..00000000 --- a/src/main/java/jm/task/core/jdbc/Product.java +++ /dev/null @@ -1,27 +0,0 @@ -package jm.task.core.jdbc; - -public class Product { - private int id; - private String name; - private double price; - private int shopID; - - public Product(){ - } - - public Product(int id, String name, double price, int shopID) { - this.id = id; - this.name = name; - this.price = price; - this.shopID = shopID; - } - @Override - public java.lang.String toString() { - return "Product{" + - "id=" + id + - ", name='" + name + '\'' + - ", price=" + price + - ", shopID=" + shopID + - '}'; - } -} diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDao.java b/src/main/java/jm/task/core/jdbc/dao/UserDao.java index 27069baf..ebb05fab 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDao.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDao.java @@ -2,18 +2,19 @@ import jm.task.core.jdbc.model.User; +import java.sql.SQLException; import java.util.List; public interface UserDao { - void createUsersTable(); + void createUsersTable() throws SQLException; - void dropUsersTable(); + void dropUsersTable() throws SQLException; - void saveUser(String name, String lastName, byte age); + void saveUser(String name, String lastName, byte age) throws SQLException; - void removeUserById(long id); + void removeUserById(long id) throws SQLException; - List getAllUsers(); + List getAllUsers() throws SQLException; - void cleanUsersTable(); + void cleanUsersTable() throws SQLException; } diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java index c3884d30..e752a329 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -1,36 +1,137 @@ package jm.task.core.jdbc.dao; import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.util.Util; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; import java.util.List; public class UserDaoJDBCImpl implements UserDao { + private static final String URL ="jdbc:mysql://localhost:3306/mydbtest2?autoReconnect=true&useSSL=false"; + private static final String USERNAME = "root"; + private static final String PASSWORD = "root"; + String table = "new_table2"; + public UserDaoJDBCImpl() { } - public void createUsersTable() { - + public void createUsersTable() throws SQLException { - } + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); - public void dropUsersTable() { + Statement statement = conn.createStatement(); + String SQL = "CREATE TABLE IF NOT EXISTS `mydbtest2`.`"+ table + "` (\n" + + " `id` INT NOT NULL AUTO_INCREMENT,\n" + + " `name` VARCHAR(45) NULL,\n" + + " `lastname` VARCHAR(45) NULL,\n" + + " `age` TINYINT NULL,\n" + + " PRIMARY KEY (`id`));"; + //statement.executeUpdate("USE new_table2;");//назначить бд используемой + statement.executeUpdate(SQL); + System.out.println("Базу " +"new_table2" + " создали."); + statement.close(); + conn.close(); } - public void saveUser(String name, String lastName, byte age) { - + public void dropUsersTable() throws SQLException { + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); + + String SQL = "DROP TABLE IF EXISTS " + table; // String table = "new_table2"; + Statement statement = conn.createStatement();// создаем соединение + + statement.executeUpdate("USE mydbtest2");// Установили бд в качестве используемой + try { + statement.executeUpdate(SQL); + } catch (SQLException throwables) { + System.out.println("Не удалось удалить"); + } + System.out.println("Базу " +"new_table2" + " удалили."); + statement.close(); + conn.close(); } - public void removeUserById(long id) { - + public void saveUser(String name, String lastName, byte age) throws SQLException { + //добавить вывод в консиль + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); + String SQL = "INSERT `" + table + "`(`name`, `lastname`, `age`) VALUES ('" + + name + "', '" + lastName + "', '" + age + "')"; + Statement statement = conn.createStatement();// создаем соединение + + statement.executeUpdate("USE mydbtest2");// Установили бд в качестве используемой + try { + statement.executeUpdate(SQL); + } catch (SQLException throwables) { + System.out.println("Не удалось Сохранить юзера"); + } + System.out.println(" User с именем – " + name + " добавлен в базу данных"); + statement.close(); + conn.close(); } - public List getAllUsers() { - return null; + public void removeUserById(long id) throws SQLException { + String SQL = "DELETE FROM " + table + " WHERE id = " + id; + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); + + Statement statement = conn.createStatement();// создаем соединение + + statement.executeUpdate("USE mydbtest2");// Установили бд в качестве используемой + try { + statement.executeUpdate(SQL); + } catch (SQLException throwables) { + System.out.println("Не удалось удалить юзера"); + } + System.out.println("удалили юзера с номером " +id); + statement.close(); + conn.close(); } - public void cleanUsersTable() { + public List getAllUsers() throws SQLException { + String SQL = "SELECT * FROM " + table ; + List listUsers = new ArrayList(); + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); + Statement statement = conn.createStatement(); + ResultSet resultSet = statement.executeQuery(SQL); + // добавить запрос + + while (resultSet.next()) { + int i = resultSet.getInt("id"); + String name = resultSet.getString("name"); + String lastname = resultSet.getString("lastname"); + byte age = (byte) resultSet.getInt("age"); + + User User = new User(name, lastname, age); + listUsers.add(User); + } + return listUsers; + + } + public void cleanUsersTable() throws SQLException { + String SQL = "TRUNCATE TABLE " + table; + Util util = new Util(); + Connection conn = util.getConnection(URL,USERNAME,PASSWORD); + + Statement statement = conn.createStatement();// создаем соединение + + statement.executeUpdate("USE mydbtest2");// Установили бд в качестве используемой + try { + statement.executeUpdate(SQL); + } catch (SQLException throwables) { + System.out.println("Не удалось очистить базу"); + } + System.out.println("Базу очистили"); + statement.close(); + conn.close(); } } diff --git a/src/main/java/jm/task/core/jdbc/service/UserService.java b/src/main/java/jm/task/core/jdbc/service/UserService.java index d13a8850..e1d1a7c4 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserService.java +++ b/src/main/java/jm/task/core/jdbc/service/UserService.java @@ -12,9 +12,9 @@ public interface UserService { void saveUser(String name, String lastName, byte age) throws SQLException; - void removeUserById(long id); + void removeUserById(long id) throws SQLException; - List getAllUsers(); + List getAllUsers() throws SQLException; - void cleanUsersTable(); + void cleanUsersTable() throws SQLException; } diff --git a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java index e4609e9a..33d33c35 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -1,5 +1,6 @@ package jm.task.core.jdbc.service; +import jm.task.core.jdbc.dao.UserDaoJDBCImpl; import jm.task.core.jdbc.model.User; import jm.task.core.jdbc.util.Util; @@ -7,79 +8,34 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; + import java.util.List; public class UserServiceImpl implements UserService { - private static final String URL ="jdbc:mysql://localhost:3306/business?autoReconnect=true&useSSL=false"; - private static final String USERNAME = "root"; - private static final String PASSWORD = "root"; - String table = "new_table2"; + private final UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); public void createUsersTable() throws SQLException { - - Util util = new Util(); - Connection conn = util.getConnection(URL,USERNAME,PASSWORD); - - Statement statement = conn.createStatement(); - String SQL = "CREATE TABLE IF NOT EXISTS `mydbtest2`.`"+ table + "` (\n" + - " `id` INT NOT NULL AUTO_INCREMENT,\n" + - " `name` VARCHAR(45) NULL,\n" + - " `lastname` VARCHAR(45) NULL,\n" + - " `age` TINYINT NULL,\n" + - " PRIMARY KEY (`id`));"; - //statement.executeUpdate("USE new_table2;");//назначить бд используемой - statement.executeUpdate(SQL); - System.out.println("Базу " +"new_table2" + " создали."); - statement.close(); - conn.close(); + userDaoJDBC.createUsersTable(); } public void dropUsersTable() throws SQLException { - Util util = new Util(); - Connection conn = util.getConnection(URL,USERNAME,PASSWORD); - - String SQL = "DROP TABLE IF EXISTS " + table; // String table = "new_table2"; - Statement statement = conn.createStatement();// создаем соединение - - statement.executeUpdate("USE mydbtest2");// Установили бд в качестве используемой - try { - statement.executeUpdate(SQL); - } catch (SQLException throwables) { - System.out.println("Не удалось удалить"); - } - System.out.println("Базу " +"new_table2" + " удалили."); - statement.close(); - conn.close(); + userDaoJDBC.dropUsersTable(); } public void saveUser(String name, String lastName, byte age) throws SQLException { - Util util = new Util(); - Connection conn = util.getConnection(URL,USERNAME,PASSWORD); - String SQL = "INSERT `" + table + "`(`name`, `lastname`, `age`) VALUES ('" + - name + "', '" + lastName + "', '" + age + "')"; - Statement statement = conn.createStatement();// создаем соединение - - statement.executeUpdate("USE mydbtest2");// Установили бд в качестве используемой - try { - statement.executeUpdate(SQL); - } catch (SQLException throwables) { - System.out.println("Не удалось Сохранить юзера"); - } - System.out.println("Сохранили юзера"); - statement.close(); - conn.close(); + userDaoJDBC.saveUser(name, lastName, age); } - public void removeUserById(long id) { - + public void removeUserById(long id) throws SQLException { + userDaoJDBC.removeUserById(id); } - public List getAllUsers() { - return null; + public List getAllUsers() throws SQLException { +return userDaoJDBC.getAllUsers(); } - public void cleanUsersTable() { - + public void cleanUsersTable() throws SQLException { + userDaoJDBC.cleanUsersTable(); } } diff --git a/src/main/java/jm/task/core/jdbc/util/Util.java b/src/main/java/jm/task/core/jdbc/util/Util.java index cd3e38a9..48ce8ea0 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -8,7 +8,7 @@ import java.sql.SQLException; public class Util { - private static final String URL ="jdbc:mysql://localhost:3306/business?autoReconnect=true&useSSL=false"; + private static final String URL ="jdbc:mysql://localhost:3306/mydbtest?autoReconnect=true&useSSL=false"; private static final String USERNAME = "root"; private static final String PASSWORD = "root"; @@ -26,7 +26,7 @@ public Connection getConnection(String url, String username, String password) th if (connection != null) return connection; connection = DriverManager.getConnection(url, username, password); - System.out.println("Соединение установленно"); + //System.out.println("Соединение установленно"); return connection; } From 82805e1b6f645e868c718aa45746c4323495a437 Mon Sep 17 00:00:00 2001 From: VitaliyKrivoshchapov <69453241+VitaliyKrivoshchapov@users.noreply.github.com> Date: Tue, 15 Dec 2020 00:06:22 +0500 Subject: [PATCH 6/8] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5?= =?UTF-8?q?=D1=82=20connect,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B8=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B1=D0=B0=D0=B7=D1=8B,=20=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BA=D1=80=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20?= =?UTF-8?q?sessionFactory,=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5?= =?UTF-8?q?=D1=82=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=8E=D0=B7=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/compiler.xml | 2 +- TaskJDBC.iml | 2 +- pom.xml | 4 +- src/main/java/jm/task/core/jdbc/Main.java | 32 +++++--- .../core/jdbc/dao/UserDaoHibernateImpl.java | 43 +++++++++- .../java/jm/task/core/jdbc/model/User.java | 12 +-- .../core/jdbc/service/UserServiceImpl.java | 7 +- .../java/jm/task/core/jdbc/util/Util.java | 81 ++++++++++++++++--- 8 files changed, 147 insertions(+), 36 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 9477f95c..e9ed1a37 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -10,7 +10,7 @@ - + \ No newline at end of file diff --git a/TaskJDBC.iml b/TaskJDBC.iml index cfaea964..eb93f079 100644 --- a/TaskJDBC.iml +++ b/TaskJDBC.iml @@ -1,6 +1,6 @@ - + diff --git a/pom.xml b/pom.xml index 366808bf..7ebeb70a 100644 --- a/pom.xml +++ b/pom.xml @@ -13,8 +13,8 @@ org.apache.maven.plugins maven-compiler-plugin - 8 - 8 + 9 + 9 diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index d859805b..d6d7ebb2 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,6 +1,7 @@ package jm.task.core.jdbc; import com.mysql.fabric.jdbc.FabricMySQLDriver; +import jm.task.core.jdbc.dao.UserDaoHibernateImpl; import jm.task.core.jdbc.model.User; import jm.task.core.jdbc.service.UserService; import jm.task.core.jdbc.service.UserServiceImpl; @@ -11,27 +12,38 @@ import java.util.ArrayList; - - public class Main { public static void main(String[] args) throws SQLException { - +//через hibernate new UserServiceImpl().createUsersTable();// добавление таблицы - //new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); - //new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); - //new UserServiceImpl().saveUser("Зинаида", "Серебрякова", (byte) 69); - //new UserServiceImpl().saveUser("ВладимирДоп", "Набоков", (byte) 65); +// new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); +// new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); +// new UserServiceImpl().saveUser("Зинаида", "Серебрякова", (byte) 69); +// new UserServiceImpl().saveUser("ВладимирДоп", "Набоков", (byte) 65); +// new UserServiceImpl().saveUser("new", "new_Набоков", (byte) 65); + + new UserDaoHibernateImpl().removeUserById(3); + Util.getSessionFactory().close(); + //new UserServiceImpl().dropUsersTable();// Удаление таблицы +//------------ + + //new UserServiceImpl().createUsersTable();// добавление таблицы + + //new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); + //new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); + //new UserServiceImpl().saveUser("Зинаида", "Серебрякова", (byte) 69); + //new UserServiceImpl().saveUser("ВладимирДоп", "Набоков", (byte) 65); //new UserServiceImpl().removeUserById(3); - List arr = new UserServiceImpl().getAllUsers(); - arr.stream().forEach(user-> System.out.println(user.toString())); + //List arr = new UserServiceImpl().getAllUsers(); + //arr.stream().forEach(user -> System.out.println(user.toString())); //new UserServiceImpl().cleanUsersTable();// Раблтет - //new UserServiceImpl().dropUsersTable();// Удаление таблицы + //new UserServiceImpl().dropUsersTable();// Удаление таблицы } diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java index dc2d0636..3b4c18e2 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -1,33 +1,67 @@ package jm.task.core.jdbc.dao; import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.util.Util; +import org.hibernate.Query; +import org.hibernate.Session; +import org.hibernate.Transaction; import java.util.List; public class UserDaoHibernateImpl implements UserDao { + String table = "new_table2"; public UserDaoHibernateImpl() { } - - +// Сюда по новой записать методы @Override public void createUsersTable() { - + String sql = "CREATE TABLE IF NOT EXISTS `mydbtest2`.`"+ table + "` (\n" + + " `id` INT NOT NULL AUTO_INCREMENT,\n" + + " `name` VARCHAR(45) NULL,\n" + + " `lastname` VARCHAR(45) NULL,\n" + + " `age` TINYINT NULL,\n" + + " PRIMARY KEY (`id`));"; + Session session = Util.getSession(); + session.createSQLQuery(sql).executeUpdate();//прочитать подробнее почему executeUpdate озвращает int + Transaction transaction = session.beginTransaction(); + transaction.commit(); + System.out.println("Таблица готова"); + session.close(); } @Override public void dropUsersTable() { - + try { + Session session = Util.getSession(); + Transaction transaction = session.beginTransaction(); + String sql = "DROP TABLE IF EXISTS new_table2"; + session.createSQLQuery(sql).executeUpdate(); + transaction.commit(); + session.close(); + } catch (Exception e) { + e.printStackTrace(); + } } @Override public void saveUser(String name, String lastName, byte age) { + Session session = Util.getSession(); + Transaction transaction = session.beginTransaction(); + session.save(new User(name, lastName, age)); + transaction.commit(); + session.close(); } @Override public void removeUserById(long id) { + Session session = Util.getSession(); + Transaction transaction = session.beginTransaction(); + session. + transaction.commit(); + session.close(); } @Override @@ -39,4 +73,5 @@ public List getAllUsers() { public void cleanUsersTable() { } + } diff --git a/src/main/java/jm/task/core/jdbc/model/User.java b/src/main/java/jm/task/core/jdbc/model/User.java index 7164f4ce..e51cf7a6 100644 --- a/src/main/java/jm/task/core/jdbc/model/User.java +++ b/src/main/java/jm/task/core/jdbc/model/User.java @@ -1,12 +1,14 @@ package jm.task.core.jdbc.model; -import javax.persistence.Column; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; + +@Entity//Эта аннотация позволяет Java-объектам вашего класса быть связанными с БД. +@Table(name = "new_table")//тут надо написать название таблицы (name = "Название") -@Table public class User { - @Id + + @Id// Отсутствует сеттер так как это указание, что поле является идентификатором объектов этого класса + @GeneratedValue(strategy = GenerationType.IDENTITY) //проверить надо ли private Long id; @Column diff --git a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java index 33d33c35..82604abf 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -1,5 +1,6 @@ package jm.task.core.jdbc.service; +import jm.task.core.jdbc.dao.UserDaoHibernateImpl; import jm.task.core.jdbc.dao.UserDaoJDBCImpl; import jm.task.core.jdbc.model.User; import jm.task.core.jdbc.util.Util; @@ -12,10 +13,14 @@ import java.util.List; public class UserServiceImpl implements UserService { - private final UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + // Надо поменять ообъект на Hibernate + + private final UserDaoHibernateImpl userDaoJDBC = new UserDaoHibernateImpl(); + //private final UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); public void createUsersTable() throws SQLException { userDaoJDBC.createUsersTable(); + // sessionFactory.close(); } public void dropUsersTable() throws SQLException { diff --git a/src/main/java/jm/task/core/jdbc/util/Util.java b/src/main/java/jm/task/core/jdbc/util/Util.java index 48ce8ea0..9f36acf3 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -1,33 +1,90 @@ package jm.task.core.jdbc.util; import com.mysql.fabric.jdbc.FabricMySQLDriver; +import jm.task.core.jdbc.model.User; +import org.hibernate.HibernateException; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; +import org.hibernate.cfg.Environment; +import org.hibernate.service.ServiceRegistry; +import org.hibernate.cfg.Configuration; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; +import java.util.Properties; public class Util { - private static final String URL ="jdbc:mysql://localhost:3306/mydbtest?autoReconnect=true&useSSL=false"; + private static final String URL ="jdbc:mysql://localhost:3306/mydbtest2?autoReconnect=true&useSSL=false"; private static final String USERNAME = "root"; private static final String PASSWORD = "root"; +//-----Hibernate + private static SessionFactory sessionFactory; + private static ServiceRegistry serviceRegistry; + + static { + try { + Configuration configuration = getConfig(); + //configuration.configure(); + serviceRegistry = new StandardServiceRegistryBuilder().applySettings( + configuration.getProperties()).build(); + + sessionFactory = configuration.buildSessionFactory(serviceRegistry);// соединение создание фабрики + } catch (HibernateException he) { + he.printStackTrace(); + } + } + public static Configuration getConfig() { + + Properties properties = new Properties(); + properties.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver"); + properties.setProperty("hibernate.connection.url", URL); + properties.setProperty("hibernate.connection.username",USERNAME); + properties.setProperty("hibernate.connection.password",PASSWORD); + properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); + // properties.setProperty("hibernate.show_sql", "true");// Показывает запросы + properties.setProperty("hibernate.hbm2ddl.auto", "update");// Прочитать отдельно + properties.setProperty("hibernate.current_session_context_class", "thread"); + + Configuration configuration = new Configuration(); + configuration.setProperties(properties); + configuration .addAnnotatedClass(User.class);//передаем класс с аннотациями + + return configuration; +} + public static Session getSession () { + return sessionFactory.openSession(); + } + + public static SessionFactory getSessionFactory() { + return sessionFactory; + } + + //----- private Connection connection; - public Util(){// в конструкторе регистрируем драйвер, а соединение в методе - try { - DriverManager.registerDriver(new FabricMySQLDriver()); - } catch (SQLException ex) { - System.out.println("Ошибка регистриции драйвера"); - return; - } - } + { + /* public Util(){// в конструкторе регистрируем драйвер, а соединение в методе + try { + DriverManager.registerDriver(new FabricMySQLDriver()); + } catch (SQLException ex) { + System.out.println("Ошибка регистриции драйвера"); + return; + }*/ + } public Connection getConnection(String url, String username, String password) throws SQLException { - if (connection != null) + + /* if (connection != null) return connection; connection = DriverManager.getConnection(url, username, password); - //System.out.println("Соединение установленно"); + //System.out.println("Соединение установленно");*/ return connection; - } + + + } + } From d2a89b58b9c7ba0df16a66f0eae15ba22eb899b7 Mon Sep 17 00:00:00 2001 From: VitaliyKrivoshchapov <69453241+VitaliyKrivoshchapov@users.noreply.github.com> Date: Tue, 15 Dec 2020 10:03:42 +0500 Subject: [PATCH 7/8] =?UTF-8?q?=D0=92=D1=81=D0=B5=20=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D0=BE=D0=B4=D1=8B=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D1=8E?= =?UTF-8?q?=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/jm/task/core/jdbc/Main.java | 18 ++++++------- .../core/jdbc/dao/UserDaoHibernateImpl.java | 26 ++++++++++++++----- .../java/jm/task/core/jdbc/util/Util.java | 4 +-- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index d6d7ebb2..b5d4d97d 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -16,7 +16,7 @@ public class Main { public static void main(String[] args) throws SQLException { //через hibernate - new UserServiceImpl().createUsersTable();// добавление таблицы + //new UserServiceImpl().createUsersTable();// добавление таблицы // new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); // new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); @@ -24,18 +24,18 @@ public static void main(String[] args) throws SQLException { // new UserServiceImpl().saveUser("ВладимирДоп", "Набоков", (byte) 65); // new UserServiceImpl().saveUser("new", "new_Набоков", (byte) 65); - new UserDaoHibernateImpl().removeUserById(3); +// new UserDaoHibernateImpl().removeUserById(2); + + List arr = new UserServiceImpl().getAllUsers(); + arr.stream().forEach(user -> System.out.println(user.toString())); + new UserServiceImpl().cleanUsersTable();// Работет + + + Util.getSessionFactory().close(); //new UserServiceImpl().dropUsersTable();// Удаление таблицы //------------ - //new UserServiceImpl().createUsersTable();// добавление таблицы - - //new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); - //new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); - //new UserServiceImpl().saveUser("Зинаида", "Серебрякова", (byte) 69); - //new UserServiceImpl().saveUser("ВладимирДоп", "Набоков", (byte) 65); - //new UserServiceImpl().removeUserById(3); diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java index 3b4c18e2..2d328581 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -9,7 +9,7 @@ import java.util.List; public class UserDaoHibernateImpl implements UserDao { - String table = "new_table2"; + String table = "new_table"; public UserDaoHibernateImpl() { } @@ -35,7 +35,7 @@ public void dropUsersTable() { try { Session session = Util.getSession(); Transaction transaction = session.beginTransaction(); - String sql = "DROP TABLE IF EXISTS new_table2"; + String sql = "DROP TABLE IF EXISTS new_table"; session.createSQLQuery(sql).executeUpdate(); transaction.commit(); session.close(); @@ -58,20 +58,34 @@ public void saveUser(String name, String lastName, byte age) { public void removeUserById(long id) { Session session = Util.getSession(); Transaction transaction = session.beginTransaction(); - session. + Query query = session.createQuery("DELETE User WHERE id = :id"); +// String SQL = "DELETE FROM " + table + " WHERE id = " + id; +// Query query = session.createSQLQuery(SQL); + query.setParameter("id", id); + query.executeUpdate(); transaction.commit(); session.close(); } @Override - public List getAllUsers() { - return null; + + public List getAllUsers() + { + Session session = Util.getSession(); + List user =null; + user = session.createQuery("From User").list(); + session.close(); + return user; } @Override public void cleanUsersTable() { - + Session session = Util.getSession(); + Transaction transaction = session.getTransaction(); + session.createQuery("DELETE FROM User").executeUpdate(); + transaction.commit(); + session.close(); } } diff --git a/src/main/java/jm/task/core/jdbc/util/Util.java b/src/main/java/jm/task/core/jdbc/util/Util.java index 9f36acf3..eed5a35c 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -33,8 +33,8 @@ public class Util { configuration.getProperties()).build(); sessionFactory = configuration.buildSessionFactory(serviceRegistry);// соединение создание фабрики - } catch (HibernateException he) { - he.printStackTrace(); + } catch (HibernateException xe) { + xe.printStackTrace(); } } public static Configuration getConfig() { From eddf45f43974ad24253673dee6327dc5c6871ae1 Mon Sep 17 00:00:00 2001 From: VitaliyKrivoshchapov <69453241+VitaliyKrivoshchapov@users.noreply.github.com> Date: Tue, 15 Dec 2020 10:17:56 +0500 Subject: [PATCH 8/8] =?UTF-8?q?=D0=92=D1=81=D0=B5=20=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D0=BE=D0=B4=D1=8B=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D1=8E?= =?UTF-8?q?=D1=82=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20cle?= =?UTF-8?q?anUsersTable=20=D0=A1=D0=B5=D0=B9=D1=87=D0=B0=D1=81=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5=20=D1=82=D0=B5=D1=81=D1=8B=20=D0=BF=D0=BE=D0=B9?= =?UTF-8?q?=D0=B4=D0=B5=D0=BD=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/jm/task/core/jdbc/Main.java | 12 ++++++------ .../jm/task/core/jdbc/dao/UserDaoHibernateImpl.java | 7 ++++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index b5d4d97d..29e98100 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -16,13 +16,13 @@ public class Main { public static void main(String[] args) throws SQLException { //через hibernate - //new UserServiceImpl().createUsersTable();// добавление таблицы + new UserServiceImpl().createUsersTable();// добавление таблицы -// new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); -// new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); -// new UserServiceImpl().saveUser("Зинаида", "Серебрякова", (byte) 69); -// new UserServiceImpl().saveUser("ВладимирДоп", "Набоков", (byte) 65); -// new UserServiceImpl().saveUser("new", "new_Набоков", (byte) 65); + new UserServiceImpl().saveUser("Александр", "Пушкин", (byte) 37); + new UserServiceImpl().saveUser("Владимир", "Высотский", (byte) 41); + new UserServiceImpl().saveUser("Зинаида", "Серебрякова", (byte) 69); + new UserServiceImpl().saveUser("ВладимирДоп", "Набоков", (byte) 65); + new UserServiceImpl().saveUser("new", "new_Набоков", (byte) 65); // new UserDaoHibernateImpl().removeUserById(2); diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java index 2d328581..5c87a145 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -26,7 +26,7 @@ public void createUsersTable() { session.createSQLQuery(sql).executeUpdate();//прочитать подробнее почему executeUpdate озвращает int Transaction transaction = session.beginTransaction(); transaction.commit(); - System.out.println("Таблица готова"); + //System.out.println("Таблица готова"); session.close(); } @@ -82,8 +82,9 @@ public List getAllUsers() @Override public void cleanUsersTable() { Session session = Util.getSession(); - Transaction transaction = session.getTransaction(); - session.createQuery("DELETE FROM User").executeUpdate(); + Transaction transaction = session.beginTransaction();// + String HQL= "DELETE FROM User"; + session.createQuery(HQL).executeUpdate(); transaction.commit(); session.close(); }