From 0d7192a411913df1b5b9f38f5f3140355798ec2a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Oct 2020 22:42:00 +0000 Subject: [PATCH 01/17] Bump junit from 4.12 to 4.13.1 Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1) Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0605a4c0..01198eef 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ junit junit - 4.12 + 4.13.1 test From 5d015609037989f134a87fc042c079fb556d4a66 Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Fri, 19 Feb 2021 23:02:43 +0300 Subject: [PATCH 02/17] Fork project --- .idea/.gitignore | 8 + .idea/.name | 1 + .idea/checkstyle-idea.xml | 16 + .idea/compiler.xml | 16 + .idea/dbnavigator.xml | 562 ++++++++++++++++++ .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 + ...ven__mysql_mysql_connector_java_5_1_38.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 | 33 + 24 files changed, 863 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/checkstyle-idea.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/dbnavigator.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__mysql_mysql_connector_java_5_1_38.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..6a47d46b --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/../../../../../../:\Lesson\Java\JavaMentor\JM_PP_1\.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/checkstyle-idea.xml b/.idea/checkstyle-idea.xml new file mode 100644 index 00000000..658f1529 --- /dev/null +++ b/.idea/checkstyle-idea.xml @@ -0,0 +1,16 @@ + + + + + + \ 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/dbnavigator.xml b/.idea/dbnavigator.xml new file mode 100644 index 00000000..f2141783 --- /dev/null +++ b/.idea/dbnavigator.xml @@ -0,0 +1,562 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
\ 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__mysql_mysql_connector_java_5_1_38.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_38.xml new file mode 100644 index 00000000..c6485891 --- /dev/null +++ b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_38.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..d09c9eb4 --- /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..3933eaad --- /dev/null +++ b/TaskJDBC.iml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 341c2277d21a432c96b5ade1628f0614dbafb13a Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Sun, 21 Feb 2021 20:14:58 +0300 Subject: [PATCH 03/17] ver. 1.1 --- .idea/compiler.xml | 2 +- .idea/dataSources.xml | 12 +++ .idea/dbnavigator.xml | 95 +------------------ .idea/sqldialects.xml | 7 ++ TaskJDBC.iml | 13 ++- pom.xml | 18 +++- src/main/java/jm/task/core/jdbc/Main.java | 23 +++++ .../core/jdbc/service/UserServiceImpl.java | 67 ++++++++++++- .../java/jm/task/core/jdbc/util/Util.java | 79 +++++++++++++++ 9 files changed, 215 insertions(+), 101 deletions(-) create mode 100644 .idea/dataSources.xml create mode 100644 .idea/sqldialects.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 9acf478f..7d7e59f1 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -9,7 +9,7 @@ - + diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 00000000..614c25b6 --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,12 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/db_user?autoReconnect=true&useSSL=false + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml index f2141783..69f30c92 100644 --- a/.idea/dbnavigator.xml +++ b/.idea/dbnavigator.xml @@ -26,17 +26,9 @@ - - - - - - - - @@ -62,92 +54,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
+ diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml new file mode 100644 index 00000000..f4da3ce7 --- /dev/null +++ b/.idea/sqldialects.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/TaskJDBC.iml b/TaskJDBC.iml index 3933eaad..356c27f8 100644 --- a/TaskJDBC.iml +++ b/TaskJDBC.iml @@ -13,8 +13,19 @@ - + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index 0605a4c0..b6f21957 100644 --- a/pom.xml +++ b/pom.xml @@ -31,9 +31,9 @@ - mysql - mysql-connector-java - 5.1.38 + mysql + mysql-connector-java + 8.0.23 @@ -47,6 +47,16 @@ hibernate-core 4.3.10.Final - + + mysql + mysql-connector-java + 5.1.38 + + + + + + + \ 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..69aebcfa 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,7 +1,30 @@ package jm.task.core.jdbc; +import java.util.ArrayList; +import java.util.List; +import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.service.UserServiceImpl; + public class Main { + public static void main(String[] args) { // реализуйте алгоритм здесь + List listUser = new ArrayList<>(); + + final String testName = "Ivan"; + final String testLastName = "Ivanov"; + final byte testAge = 5; +// listUser.add(new User("Ivan","Ivanov",(byte)36)); +// listUser.add(new User("Petr","Petrov",(byte)27)); +// listUser.add(new User("Klim","Klimov",(byte)42)); +// +// for(User user: listUser){ +// System.out.println(user.getName() + " " + user.getLastName() + " " + user.getAge() + " лет"); +// } + UserServiceImpl usi = new UserServiceImpl(); +// usi.cleanUsersTable(); + usi.createUsersTable(); + usi.saveUser(testName,testLastName, testAge); + usi.dropUsersTable(); } } 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..15fa9cdc 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -1,31 +1,96 @@ package jm.task.core.jdbc.service; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; import jm.task.core.jdbc.model.User; import java.util.List; +import jm.task.core.jdbc.util.Util; public class UserServiceImpl implements UserService { + private static String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; + private static String creatTable = "CREATE TABLE IF NOT EXISTS user_table" + + "(id INTEGER not NULL AUTO_INCREMENT PRIMARY KEY ," + + "name VARCHAR(50)," + + "lastName VARCHAR(50)," + + "age INT(3))"; + public void createUsersTable() { + try {Connection connection = Util.getDBConnection(); + Statement statement = connection.createStatement(); + statement.executeUpdate(creatTable); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } } public void dropUsersTable() { + try{ Connection connection = Util.getDBConnection(); + Statement statement = connection.createStatement(); + String dropTable = "DROP TABLE IF EXISTS user_table"; + statement.executeUpdate(dropTable); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } } public void saveUser(String name, String lastName, byte age) { + try {Connection connection = Util.getDBConnection(); + PreparedStatement stmt = connection.prepareStatement(data); + stmt.setString(1,name); + stmt.setString(2,lastName); + stmt.setInt(3,age); + stmt.executeUpdate(); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + + } public void removeUserById(long id) { + String SQL = ("DELETE * FROM staff WHERE ID = "+ id); + try {Connection connection = Util.getDBConnection(); + Statement stmt = connection.createStatement(); + stmt.executeUpdate(SQL); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } } public List getAllUsers() { - return null; + String SQL = "SELECT * FROM user_table"; + List list = new ArrayList<>(); + try{ Connection connection = Util.getDBConnection() ; + Statement stmt = connection.createStatement(); + ResultSet resultSet = stmt.executeQuery(SQL); + while (resultSet.next()){ + list.add( new User(resultSet.getString(2) + ,resultSet.getString(3) + ,(byte)resultSet.getInt(4))); + } + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + return list; } public void cleanUsersTable() { + String SQL = "DELETE FROM user_table"; + try (Connection connection = Util.getDBConnection()) { + Statement stmt = connection.createStatement(); + stmt.executeUpdate(SQL); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } } } 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..bf1e2a06 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,84 @@ 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.PreparedStatement; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Collection; +import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.service.UserService; +import jm.task.core.jdbc.service.UserServiceImpl; + public class Util { // реализуйте настройку соеденения с БД + private static Connection connection = null; + private static final String URL = "jdbc:mysql://localhost:3306/db_user?autoReconnect=true&useSSL=false"; + private static final String USERNAME = "newroot"; + private static final String PASSWORD = "root"; + private Util(){ + + } + + public static Connection getDBConnection(){ + try { + System.out.println("connection: " + connection); + if(connection == null){ +// Class.forName("com.mysql.jdbc.Driver"); + +// try { +// Driver driver = new FabricMySQLDriver(); +// DriverManager.registerDriver(driver); +// } catch (SQLException e) { +// e.printStackTrace(); +// } + connection = DriverManager.getConnection(URL,USERNAME,PASSWORD); + System.out.println("Соединение установлено"); + } + } catch (SQLException throwables) { + System.out.println("Ошибка подключения: " + throwables); + } + return connection; + } + + + + private static String data = "INSERT INTO user_table(id,name,lastName,age) VALUES (?,?,?,?)"; + private static String creatTable = "CREATE TABLE user_table" + + "(id INTEGER not NULL," + "name VARCHAR(50)," + "lastName VARCHAR(50)," + "age INTEGER(3)"; + + +// public void newConnection(String action, Object o) { +// +// try { +// Driver driver = new FabricMySQLDriver(); +// DriverManager.registerDriver(driver); +// } catch (SQLException e) { +// e.printStackTrace(); +// } +// try(Connection connection = DriverManager.getConnection(URL,USERNAME,PASSWORD); +// Statement statement = connection.createStatement();){ +// if(action == "save" && o instanceof User){ +// +// PreparedStatement stmt = connection.prepareStatement(data); +// stmt.setString(2,user.getName()); +// stmt.setString(3,user.getLastName()); +// stmt.setInt(4,user.getAge()); +// stmt.executeUpdate(); +// }else if (action == "removeTable"){ +// UserServiceImpl usi = new UserServiceImpl(); +// usi.dropUsersTable(); +// } +// +// //statement.execute("INSERT INTO user_table(name,lastName,age) VALUES ('name','desc',35);"); +// System.out.println(connection.isClosed()); +// }catch (SQLException s){ +// s.printStackTrace(); +// } +// +// } + + } From d80ef763e51bc3838a9feff0671c7907d2eabce7 Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Sun, 21 Feb 2021 20:45:11 +0300 Subject: [PATCH 04/17] ver. 1.2 --- .../0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml | 939 ++++++++++++++++++ .../schema/information_schema.FNRwLQ.meta | 2 + .../core/jdbc/service/UserServiceImpl.java | 36 +- .../java/jm/task/core/jdbc/util/Util.java | 58 -- target/classes/jm/task/core/jdbc/Main.class | Bin 0 -> 980 bytes .../jm/task/core/jdbc/dao/UserDao.class | Bin 0 -> 411 bytes .../core/jdbc/dao/UserDaoHibernateImpl.class | Bin 0 -> 1051 bytes .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 0 -> 1036 bytes .../jm/task/core/jdbc/model/User.class | Bin 0 -> 1562 bytes .../task/core/jdbc/service/UserService.class | Bin 0 -> 423 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 0 -> 3915 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 0 -> 1391 bytes target/test-classes/UserServiceTest.class | Bin 0 -> 4206 bytes 13 files changed, 961 insertions(+), 74 deletions(-) create mode 100644 .idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml create mode 100644 .idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba/storage_v2/_src_/schema/information_schema.FNRwLQ.meta create mode 100644 target/classes/jm/task/core/jdbc/Main.class create mode 100644 target/classes/jm/task/core/jdbc/dao/UserDao.class create mode 100644 target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class create mode 100644 target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class create mode 100644 target/classes/jm/task/core/jdbc/model/User.class create mode 100644 target/classes/jm/task/core/jdbc/service/UserService.class create mode 100644 target/classes/jm/task/core/jdbc/service/UserServiceImpl.class create mode 100644 target/classes/jm/task/core/jdbc/util/Util.class create mode 100644 target/test-classes/UserServiceTest.class diff --git a/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml b/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml new file mode 100644 index 00000000..50eecffd --- /dev/null +++ b/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml @@ -0,0 +1,939 @@ + + + + + 8.0.23 + InnoDB + InnoDB + lower/lower + + + 1 + utf8_general_ci + + + utf8_general_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + armscii8 + + + armscii8 + 1 + + + ascii + + + ascii + 1 + + + big5 + + + big5 + 1 + + + binary + 1 + + + cp1250 + + + cp1250 + + + cp1250 + + + cp1250 + 1 + + + cp1250 + + + cp1251 + + + cp1251 + + + cp1251 + 1 + + + cp1251 + + + cp1251 + + + cp1256 + + + cp1256 + 1 + + + cp1257 + + + cp1257 + 1 + + + cp1257 + + + cp850 + + + cp850 + 1 + + + cp852 + + + cp852 + 1 + + + cp866 + + + cp866 + 1 + + + cp932 + + + cp932 + 1 + + + dec8 + + + dec8 + 1 + + + eucjpms + + + eucjpms + 1 + + + euckr + + + euckr + 1 + + + gb18030 + + + gb18030 + 1 + + + gb18030 + + + gb2312 + + + gb2312 + 1 + + + gbk + + + gbk + 1 + + + geostd8 + + + geostd8 + 1 + + + greek + + + greek + 1 + + + hebrew + + + hebrew + 1 + + + hp8 + + + hp8 + 1 + + + keybcs2 + + + keybcs2 + 1 + + + koi8r + + + koi8r + 1 + + + koi8u + + + koi8u + 1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + 1 + + + latin2 + + + latin2 + + + latin2 + + + latin2 + 1 + + + latin2 + + + latin5 + + + latin5 + 1 + + + latin7 + + + latin7 + + + latin7 + 1 + + + latin7 + + + macce + + + macce + 1 + + + macroman + + + macroman + 1 + + + sjis + + + sjis + 1 + + + swe7 + + + swe7 + 1 + + + tis620 + + + tis620 + 1 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + 1 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ujis + + + ujis + 1 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + 1 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16le + + + utf16le + 1 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + 1 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + 1 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8mb4 + 1 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + localhost + SELECT +SYSTEM_USER + + + + localhost + SHUTDOWN,SUPER +BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN +SELECT|performance_schema +SELECT|mysql.user + + + + localhost + SYSTEM_USER +TRIGGER|sys +SELECT|sys.sys_config + + + + % + SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE! + + + + localhost + SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE! + + + + + 1 + int|0s + 1 + null + + + 2 + varchar(50)|0s + + + 3 + varchar(50)|0s + + + 4 + int|0s + + + 1 + id + 1 + + + \ No newline at end of file diff --git a/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba/storage_v2/_src_/schema/information_schema.FNRwLQ.meta b/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba/storage_v2/_src_/schema/information_schema.FNRwLQ.meta new file mode 100644 index 00000000..1ff3db2e --- /dev/null +++ b/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba/storage_v2/_src_/schema/information_schema.FNRwLQ.meta @@ -0,0 +1,2 @@ +#n:information_schema +! [null, 0, null, null, -2147483648, -2147483648] 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 15fa9cdc..3e1b8ece 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -12,18 +12,18 @@ import jm.task.core.jdbc.util.Util; public class UserServiceImpl implements UserService { - private static String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; - private static String creatTable = "CREATE TABLE IF NOT EXISTS user_table" - + "(id INTEGER not NULL AUTO_INCREMENT PRIMARY KEY ," - + "name VARCHAR(50)," - + "lastName VARCHAR(50)," - + "age INT(3))"; - public void createUsersTable() { + public void createUsersTable() { try {Connection connection = Util.getDBConnection(); - Statement statement = connection.createStatement(); - - statement.executeUpdate(creatTable); + Statement stmt = connection.createStatement(); + + String creatTable = "CREATE TABLE IF NOT EXISTS user_table" + + "(id INTEGER not NULL AUTO_INCREMENT PRIMARY KEY ," + + "name VARCHAR(50)," + + "lastName VARCHAR(50)," + + "age INT(3))"; + stmt.executeUpdate(creatTable); + stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } @@ -31,9 +31,10 @@ public void createUsersTable() { public void dropUsersTable() { try{ Connection connection = Util.getDBConnection(); - Statement statement = connection.createStatement(); + Statement stmt = connection.createStatement(); String dropTable = "DROP TABLE IF EXISTS user_table"; - statement.executeUpdate(dropTable); + stmt.executeUpdate(dropTable); + stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } @@ -43,11 +44,13 @@ public void dropUsersTable() { public void saveUser(String name, String lastName, byte age) { try {Connection connection = Util.getDBConnection(); - PreparedStatement stmt = connection.prepareStatement(data); + String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; + PreparedStatement stmt = connection.prepareStatement(data); stmt.setString(1,name); stmt.setString(2,lastName); stmt.setInt(3,age); stmt.executeUpdate(); + stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } @@ -56,11 +59,11 @@ public void saveUser(String name, String lastName, byte age) { } public void removeUserById(long id) { - String SQL = ("DELETE * FROM staff WHERE ID = "+ id); + String SQL = ("DELETE FROM user_table WHERE ID = "+ id); try {Connection connection = Util.getDBConnection(); Statement stmt = connection.createStatement(); stmt.executeUpdate(SQL); - + stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } @@ -77,6 +80,7 @@ public List getAllUsers() { ,resultSet.getString(3) ,(byte)resultSet.getInt(4))); } + stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } @@ -85,7 +89,7 @@ public List getAllUsers() { public void cleanUsersTable() { String SQL = "DELETE FROM user_table"; - try (Connection connection = Util.getDBConnection()) { + try {Connection connection = Util.getDBConnection(); Statement stmt = connection.createStatement(); stmt.executeUpdate(SQL); 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 bf1e2a06..c789ace5 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -1,16 +1,7 @@ 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.PreparedStatement; import java.sql.SQLException; -import java.sql.Statement; -import java.util.Collection; -import jm.task.core.jdbc.model.User; -import jm.task.core.jdbc.service.UserService; -import jm.task.core.jdbc.service.UserServiceImpl; public class Util { // реализуйте настройку соеденения с БД @@ -24,61 +15,12 @@ private Util(){ public static Connection getDBConnection(){ try { - System.out.println("connection: " + connection); if(connection == null){ -// Class.forName("com.mysql.jdbc.Driver"); - -// try { -// Driver driver = new FabricMySQLDriver(); -// DriverManager.registerDriver(driver); -// } catch (SQLException e) { -// e.printStackTrace(); -// } connection = DriverManager.getConnection(URL,USERNAME,PASSWORD); - System.out.println("Соединение установлено"); } } catch (SQLException throwables) { System.out.println("Ошибка подключения: " + throwables); } return connection; } - - - - private static String data = "INSERT INTO user_table(id,name,lastName,age) VALUES (?,?,?,?)"; - private static String creatTable = "CREATE TABLE user_table" - + "(id INTEGER not NULL," + "name VARCHAR(50)," + "lastName VARCHAR(50)," + "age INTEGER(3)"; - - -// public void newConnection(String action, Object o) { -// -// try { -// Driver driver = new FabricMySQLDriver(); -// DriverManager.registerDriver(driver); -// } catch (SQLException e) { -// e.printStackTrace(); -// } -// try(Connection connection = DriverManager.getConnection(URL,USERNAME,PASSWORD); -// Statement statement = connection.createStatement();){ -// if(action == "save" && o instanceof User){ -// -// PreparedStatement stmt = connection.prepareStatement(data); -// stmt.setString(2,user.getName()); -// stmt.setString(3,user.getLastName()); -// stmt.setInt(4,user.getAge()); -// stmt.executeUpdate(); -// }else if (action == "removeTable"){ -// UserServiceImpl usi = new UserServiceImpl(); -// usi.dropUsersTable(); -// } -// -// //statement.execute("INSERT INTO user_table(name,lastName,age) VALUES ('name','desc',35);"); -// System.out.println(connection.isClosed()); -// }catch (SQLException s){ -// s.printStackTrace(); -// } -// -// } - - } diff --git a/target/classes/jm/task/core/jdbc/Main.class b/target/classes/jm/task/core/jdbc/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..a97d8795eb5da9386d663f344cf28715b38ff81c GIT binary patch literal 980 zcmZuvU2oE06n ziHrUKf0Xfgi_40DbrJ;f!uG-_3k^vfIf2yKT#j|zVWrY0a}5Q7#&Bds zGW=>elfbox{hnimZZP*8*ZN4Mv(V2*Q$LG5l1i8cN--xVaAoAGwD5!M`K}6X7%1bO zfF8vaQ4CwIe_rO<=rS&Y0TD_o!hE^U zu`A}>+M+z(h*}1r^~epQwj7bJxeP8~sJJa}ax`V0445rWx#?Nx3GA;R&UUMI#)jp8 zM{qH{8N=a!0#v%a^2?AvB2#@Je#Xpc@CPA*DeY!%%HnZoZ(biw5u92ss z_$FOVUt+zQHnXOoU*fJZE2>Qrs?9UPsRlaFDu)7P5$mY%zG`f}i3YZCz*dSzYtaf% z@RXL0T~_asNRFO5GZU=d!5+0FF}AUf=cHG|23`;&&6h5ovZy>{rNB%25_t6oT2b8a literal 0 HcmV?d00001 diff --git a/target/classes/jm/task/core/jdbc/dao/UserDao.class b/target/classes/jm/task/core/jdbc/dao/UserDao.class new file mode 100644 index 0000000000000000000000000000000000000000..437ac31e904a1766213f9197bb8a75720ec389e7 GIT binary patch literal 411 zcmZXQ&r8EF9K~PeZ1>A;&a?OKVnB}-!6Aa9;Gyb0O+#r-8%fiF|C$H?fc;Tok_ira z`jVITeaYwTf4;r}+~6X_fZ(#KsbTFq=H`+|~&Mwy9GDaE*n3bA+)!PcZd!hBND*TlWA9*R1nd I<=iW)U(sr5KmY&$ literal 0 HcmV?d00001 diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..cf21855da5fdd68e96b405f7ea4b41cc76d39a53 GIT binary patch literal 1051 zcmah|O>fgc5Ph4Zbx1=3g%(;qN+|~?R9FIWN>zz~5UHYa2+e)ttilF=RJK!ze+4Hb z4*URq6yojLBB6=egLh|kXWqPdJO2IW=Pv-S@T`Us$_^@ZtYKZ?)>K|dFObp1`#72^ zKNDC#(vi-N1~i6SS% zF)e@^<0L*`JgBDf!bS+VZhx-CAWL*K=`5dgTSKysWN5iAB?wdlnP#WY)cx8U6Tv+(KqXCEoCs`8RQ4taEH#SYw(`oeOb1?Hry1M1G0+ogJWGiAaw*_w zg*G8I4(uCsjtS8810|!y?rVd1miX$uHp=gqo6C>+!gPpzIGh<$-~c(?IX7H4>^PA> z_qFy9i0?E?sB<+V22@d@b(2;-4?+V?dVHFH0MD(@vw5 z7>EaW$d$he9`nvX99o|mif{CCC37(j7J4cb)b?!56Xxt+FG_0xV6Ns<3vuulGuyk| literal 0 HcmV?d00001 diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..05384f9eb923e6119691f2d70ef0d25633b74fe6 GIT binary patch literal 1036 zcmah|O>fgc5PciFbx1=3p#&%tXaV6Age4HCRFz08q(o6Uq~yM_S7w7hDtl9je+4Hb z4*URq6k>L5h()6I;MtkknKy4{$G?96_zB<*o;FZ}<-l%Y1Dgyt=KO+t5l=$z!)z{m z#jtrO6RD0EEVnmxP-l2Hk3Gfn&z_%V!kY&(-wSx^eauC6!qd^o;CL9HM-CbcyO)MC z*vDxg7}{f*h|@(p6WJM`Mday>Q=dmuo=I(&PFsDFIm7eurKo=i^r;;`6I=<+EH5!y zL6)9Z9rc`FmHlGy^A74jrwEE{IyVl! zgMA~Vh9*h9Q$QUyY1c_>7C~sCO%}b%KY$m;Cf_nyV}nAMi8Q-1@#fWuowbP_+#*;_ zc}SnFtNvfHYZ4EN%d(;-yN%n15kr?W-5A3i+=WHwJ?xOwuy5(J*1_%=*lw9vG@>Ey y;{i$fLGY07G{j3|(+t^HvWiI-!`Q9#R4b`HGBJ-SXYcBv>{kGm)7&=@PyPVseY7zpF`1T0+Jw!2}y&AXy0GkP2GCEGj~^`-%1mS zi7)&BekkL!cNcoC2XAg}cV?db&Ft)-zrTJ1*vFG1GMLK4C?SiSK)G*ywoKb{dghyU zUv>h4+@W$*a3nBQtG5c6Mj?-42{R}Oto8?HVEG@-j_XOY-)(oyf!md~`QDeFfZQ=AfvkD z5lxrM0?TiQPM`*|rF_-4<+0Akb4tSfUnmff;ErPuMM5qwZQYQ1?~bEx{fmZ&c7%e6aU2kI?> zY)=NKEPlRLPb9?UXZ^^zkdzO7IyKK!-D`o$SaN(m1DGBKEG7kFzm}MxL^HlJt{6XB z<>))sH#d$Jl5><88+ymsF3T#OyF;%dUn||(f*zq=JvhA4l*NgpAg?enN@!E^8prl{1Vpq zr-d1Wb=;xV0(be<0yZNJ+KLuvY+WGV*uKDQW9I_pkzSP ztWBl3IQ^$f(j*oAdN9Q^H*haL*`$rof1vV>K^clhJp%F4u7=xPoL^70ChXxK9_!(rIFd@_%L Ee+&Hd?*IS* literal 0 HcmV?d00001 diff --git a/target/classes/jm/task/core/jdbc/service/UserService.class b/target/classes/jm/task/core/jdbc/service/UserService.class new file mode 100644 index 0000000000000000000000000000000000000000..e1f4323602580d732ac8e9a58523ff331b8abb0f GIT binary patch literal 423 zcmZXQ%}T^D6opU5v7H~C8OLW3IvWGJtO(9RPzGF7-KS|Nsc9=|TJY6e_y9iCV3H0v z(AB*;`R+~5`Q3m20Jz0vh!Me6QBuR256WvTXpyCyHbQrj3;Jf8r0+wF304K`7*(vw z=}TG&Zmh($U`9Byd1a{*1SiqvonVpa`tw+xG_3O+K@{!&Hzh{PDvyWC*00f`toym` z*HcC?j-H)9&xLtV%0ED`jyC;#Yoww(*_fDMn#jCjrq%XOHv`~qH}qZBnNZ$!d~X*l zxe}~8_ApE8R&((vozIoKImC1A`~(Eny^R(KY+9!X;8F_@b%Los&oKA(4Cj_#SbBt| MOV@E$x$w&R51QX@g8%>k literal 0 HcmV?d00001 diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..7d109ade3a591315097a9639b6df357b98277a8c GIT binary patch literal 3915 zcmb7HX;T|l7CkMsXd&9*V7$mCp-qefAGNtw*py(2OSa)Zy7sAxL_1F!>RQxGiOWaxSB8K?P&?_KycXyFFFju1&38Uhh7Os4zQuSoMjrenX!49R#qYjD^~QjV47DNC=|}&Z!7v zOv1?~=6$9TIx8l@3eto^^aH3|7Vgfg)c-~5o94PulP93-L1*fcNY-UX@nk)OegzX0 zud``ePNLO(VZ*e1cm-}RrX&o`#^Nz*ZZ4flw9%!l%*WEy;H);K3FB)jUPXjE8|AWD z+>kK(bUOBLHz{1q2p6*w`UBVN74;OuITf#AUV_&yH8|;OR889w*35MYCo+tGCaVoU zi9kWTQI$@8M=Z#Zz!c3`Hz@h}TF6G6lY3)h~JRO;60co>RE!Y{;W`Z-w zDp*pnjFt8>X_`ooi{?G%iGApnf>naw-+i`A8z$Qi>svT{UBw%ClZs#?YM?(F(DyUu zY`>=BEf`D-tsOzgG}V2`VMBqb;%!h+-7OJBcSWr#J4T^urrst$foQvDG0j}vL|*jP zEeV$o;9|cx+eRD@LXib*D=4Zcq1=eTNrT7$`7k!9p~regt#?lbZ+T&{2o9E|0xk~j z=aA&>0YYt*mIbOl-WAGYZRwl^5^z zLD{~OuSgh)Ka+P6%p}`N?Q5ZAOC6@!AZw zmF;>PriFdSD!nVBXUNCfytH*+hIh#6w+W+M_tm{&mCEhGc8Y=eq_<-1m}2taifPkC zJ&b5@nMnAxpkDi1G3@Jx3`7>qnhl`wp%Q}GnAk>FX)2R@cUp}Ce~j>EO^fgfj))J}K(sGD_PA7b z%MH1VJz;zG0Nu12!Q`|EB$MAP8g|tp@bmj3eFg_Txq@jF+w?7i3Pn|KB5j@&AncGG&3(T+Y+C z@f|`H8SI4XpNKGrLY3dehjk|Y!RZc8Pd&sds}C^Qd-Xo12ks+!AF-svj$d{(Ns2sm zNeZSMO}3-&BewA-`kE@I8TB>l@l|Fxf)PY%6Qh;DJBzEBa}ZB606%{<#Dh5OsM155 z7S5?A&MABk-)HcBJdXar$-F?<2iGGy=6|1xtl)=`>Og;tpO6WrTv}nm1<-u29)E}% z#F|JDUy_(uaUzXOdXo7k&OM|h{1juMhq$@w_wfCe3w{ri?%b6<+;-u^Pq6*~clL0X zRr=ARzYCsfm6{x-B0_&=kX=~AI!Te8Qk_N*1JKF%bDHKx!8G zl;S}n!?nv?o#l~b37c4P$eJgN9@+`A++02HkR{W{G$Z~QDa&y;ArH3zTc^#<}dw=at;lmlL;aO4WfT}9U9!Useu>jA83N_uY(r=j|ips;i|!?W03GW JPPy>={{RTQdmsP+ literal 0 HcmV?d00001 diff --git a/target/classes/jm/task/core/jdbc/util/Util.class b/target/classes/jm/task/core/jdbc/util/Util.class new file mode 100644 index 0000000000000000000000000000000000000000..1924532a333d75a1996a197664f5212252de1d21 GIT binary patch literal 1391 zcma)6*-{fh6g^F%Gl@ZT5F#jw8-m-YaZNyFb18!;BUnCJok|y}#*iJ*`PmA=&+qZlNxpTGGy28Y?bLq=(uGOq_GDH9S0Z= zM6Xt!M~l(h=yUX@H~JbaM<2*sT6wYZEczIIi56F0=6jX@!3_E_K$p&|RpFHxj;L(Ty#9;+-m8Yjx*@eUrmHzTmRo7bjnHOG@Q!dG|n)z$NB%R z4Anwa>Ex=)TQ7wf5_Wp3$YA_^tyB(F3pL3-Im6vh5Tj{peCo#V#5kEZhb`;Q)EIh-|LBI?$Tu9aSMfe~b@CAs}zf>-NI^g-LL_jKCw!@w4o9Ys5(+V+@Ilde&x zhXF_;tva2oZk)wAFq|j51+6sCH_h8XnzmwHF~bU!;U5Fx%&zG zjQtDfJG21$9$ml*a(@#C8t6b5fv97LIfp=Ego{Ac~J9+WuP^Yp|OoqOai%okHulF=0fLMtUrIdSu*86cpASveH)Jh(dFF$B-YI zLdSS2S}^jLqKQn-jE;|vB%*mUH(@2r=otdCEwc3c>g?nSnyiN{`WID+!5B zWUav<75p;MJw|UTwjN>Z@MEWrUr4B)Srbf!jib3tRygMe zjgh43$1@6#Eh9VrPQuIg{MJqXK<^p&Y%^D&K7wvD$SMB+5dCD%8 zC;2_k$0hrg{k?tHo|lPh_H8~a+9i2W{zO)OZ_n_>eEGfd&9HsXF_^dK?4|Pie7zLr z%%pwCUMzoHzTukLrGRX?N5@|5W5|qb)=ZBo>}{_PYDe9x3g|9z(J3x|xx&)Tt*+HA z59s(6o)<|oZY&fwx7V9+mlyGp9|v{(8eL4`Ol~YXUS!TjyYmb?6U_IPVI>u|Gy*>) zvL4oP#7X}|&NK?9#wWbjY)Ms-Z3x ztYkE9yvoFOa@Ct=gP;S6a&N6j6{-CgPc(TvCWj2*dVF`KG-X zW)YTHTTA7uEIW><{aq=!+f0QS7UnItQp5HwTJU+Ud`%{$n(vlxmal6_DZFccDmJ$q z7eBZ)-Jtqqf~i=(&UNCT+5zl)jq;DH*V+pt%`!T&c$+cEnW>DMXtB$^>%ScS(+da_a++XpWoE%4go^yyp;~d5!a)|H|vAl8Y|C zuhZfjnmGb?MCPC(i}0VFLrV#PNU*hpU?dnS;qi!8!V@!&`}g=AqB+n)2mu1nx!DFh zK`=M?R(GA@eSE+tCD%lPl8rv(uK?d0xsAXAo>uS%-(g#P5zlhx_F%^>cJH1=bQb&P z@xqMbF32r*5vOdvjSfM^EqoWmtVL7fO*1$`4dAgp`56PDQ|+U!H~9qW4=m+f6H@u0r4jM3;pq6D=`nw;XzD+kG`;j@OW3 z3Z@!xIO%ctvBF_+EgTj=ZR5KaAQya5?wu9NU1>n+AP$j| &eOBm=SrIV!e3Ms`& z=@kEToW?;6aOJBc+|SXVr&xqV|95;!#SYhy9ITN1jQ*qvxT`+rNGeZ5^T9^i@kFhZ z-oGonhu6mYPu2Fp066r&Ci{0+u%B$e{wTAuDyYl;EZGl}{W-FKof&+d|Di5W-UL?~ dly?MYG3p81Q^R? Date: Sun, 21 Feb 2021 22:24:47 +0300 Subject: [PATCH 05/17] Removed multiple Connection creation --- .../core/jdbc/service/UserServiceImpl.java | 33 ++++++++++++++---- .../core/jdbc/service/UserServiceImpl.class | Bin 3915 -> 3949 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 1391 -> 1438 bytes 3 files changed, 26 insertions(+), 7 deletions(-) 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 3e1b8ece..643dde1d 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -12,9 +12,13 @@ import jm.task.core.jdbc.util.Util; public class UserServiceImpl implements UserService { - + Connection connection; public void createUsersTable() { - try {Connection connection = Util.getDBConnection(); + try { +// Connection connection = Util.getDBConnection(); + if(connection == null){ + connection = Util.getDBConnection(); + } Statement stmt = connection.createStatement(); String creatTable = "CREATE TABLE IF NOT EXISTS user_table" @@ -30,7 +34,10 @@ public void createUsersTable() { } public void dropUsersTable() { - try{ Connection connection = Util.getDBConnection(); + try{ + if(connection == null){ + connection = Util.getDBConnection(); + } Statement stmt = connection.createStatement(); String dropTable = "DROP TABLE IF EXISTS user_table"; stmt.executeUpdate(dropTable); @@ -43,7 +50,10 @@ public void dropUsersTable() { public void saveUser(String name, String lastName, byte age) { - try {Connection connection = Util.getDBConnection(); + try { + if(connection == null){ + connection = Util.getDBConnection(); + } String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; PreparedStatement stmt = connection.prepareStatement(data); stmt.setString(1,name); @@ -60,7 +70,10 @@ public void saveUser(String name, String lastName, byte age) { public void removeUserById(long id) { String SQL = ("DELETE FROM user_table WHERE ID = "+ id); - try {Connection connection = Util.getDBConnection(); + try { + if(connection == null){ + connection = Util.getDBConnection(); + } Statement stmt = connection.createStatement(); stmt.executeUpdate(SQL); stmt.close(); @@ -72,7 +85,10 @@ public void removeUserById(long id) { public List getAllUsers() { String SQL = "SELECT * FROM user_table"; List list = new ArrayList<>(); - try{ Connection connection = Util.getDBConnection() ; + try{ + if(connection == null){ + connection = Util.getDBConnection(); + } Statement stmt = connection.createStatement(); ResultSet resultSet = stmt.executeQuery(SQL); while (resultSet.next()){ @@ -89,7 +105,10 @@ public List getAllUsers() { public void cleanUsersTable() { String SQL = "DELETE FROM user_table"; - try {Connection connection = Util.getDBConnection(); + try { + if(connection == null){ + connection = Util.getDBConnection(); + } Statement stmt = connection.createStatement(); stmt.executeUpdate(SQL); diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class index 7d109ade3a591315097a9639b6df357b98277a8c..273308d2b3b2a4cd572e82580c69917953a96e8d 100644 GIT binary patch literal 3949 zcmb7GX>;4w6+Iw9fubNUw7e*?W5iAzQld;*PV7YTMoP3ro1`R?k|MXZ0+EPJnVUgS zvD&74lJ0G~?|bWyZDvwCs%QGOGoAi{{+Fidc_0Z=rZnRWh9L0XefQmS?ztE5U;q32 zKLDJ?pM7w_tw2`cL63xe>-vTsF6!mA@a*ckk+UT9Tqu+a)+GtZ}7x<8AJjYAbq6A;AQZCbDp;DG`Fkx?0yH^ZP zIm44a?7?0I`&8_QU&2tg_qtUmh8K8~uy@U{rlalE5)KD~JG$+|01hfRq~b7+NI0;= z)^wLM4c#&_7H=h^OyGw)-8tivUOXe=-Klgel8tHENHh`C;#alQY*vfC7SCieTAj#O zEPb_T1PXaAp326q#nM{2Vri*`L_&)!WM^06DLP2TQdw;-9ZyEm%i4|DvKA`qB|}?` zq^D*g>A=fl!BA1JS*a%n^)*Ad4V(=I`*0M;6g;cqI5Y`<2bvSFgnr|`k*izALN!lp z zND~T)??C0EaQBLeS24lrp?O@W$rFgjgZ9(~k*te$J(2ZsoKSFu;d9WhOP zGf}8nKFq@{gt?$%5la%(rj+OFhPf#rusbr*S<*(WUbHfX#RMHmWg8` zK`tBjnJ0ERTCNa$clRk(@&?-v>svU~RjeXMMX(XI&>sxMyBV{$H&naO(2I3r_6_nAh<17w)6CUvR7B^lN;tm*7v19Q7_mJF zMVhE7uvFBs(Tc!MgUA5+(DT&Lww}@WGE4?29+ATqRufzwziKCsFX3M07b;qo{DFS0OhdaDDw;xwE=E^4AO_8eAlQ?Cd%v+m4~Db1@KEG*%XC>!Tu)yT$=2%DkIKsnXav zx*2E2W!64Dy9#`k*bCg5`GkU>ZaX5hRNqHUM~X!o6LZ$;0FH{dcdywh#%+W<^(VqB z+Jf8H0MWVl&~_DUR$EFKd&2g@4w7gW?c^m9NT#q>)~&ip;NxA9K81t5xuT($JM-tu zRO)8VxLOd39S}2__QB`05DuQ>xyc0yoBTnXop@LH%tIINpXFPa|6A_y?0Cp)Cx# zur#uT=OjFUH!<=Mr{1@H1`*;H-EHqU3?DrmV0Z)E_YjWo8p1K244y@hKtlX_jY7j2 zoUo%BhD?k7_!7QMUqf8;6?~QPjB@;Kykq+xZ^ryCJ$vEab4$VVGH1T_2@nK7A%asx z@FJrLGP+^LH9`a-zJ+-o<#n0}&g_EV>rai~8~7%1Fo8^yn`nUS_8j;}CS)-(C~slZ zg$d7~M`jAnxH0JQFeUaw&#^6>7b9DsM3=-r58Mynn~(=(Crfc8oGhI~KleIEjOU5* zRroQ%yiD>)c7doa^6e6$;#1Ch0#}ei1R2C^yfa+o=elnZrOZ{s%-y#s#T0)cW3oWe z%$Ruk4()^rv-qyfi+K7T-Xq>tKHp+Kg;KwdA2is&e>m&mnwiJAy!;3efAk@yk3YoB zL)=JhXUI{h06W?csbI@iX(s~%#C64CprO+ls`NUudxL6BGOH7CqlLY=FjkR3S1;TODYA- zntwL&81qD$N$!F!HOjPSsQ{wf!fV3ISm-fsFAvI0_v>=+@j`hlbIEs z>s}{EI%igp<5l3Pq=-C9FmMlRHdB|VSW6=*3cpKx8?8fjrn!E6O zy7+_BApXJ;v2n=%W?~nHlOZxJS{$2OGSn;^H=&$zL~{zg^l_J-N^Emwwyi3~bB{K4 vTGiMvEH;V_r!5RIJVAqtGY#-A5rYFh*aR;C+A`TsAlYVj`y&Tk_|yLZQVEg; delta 2011 zcmb7E*;7+j9RAK-LvjI)fCM5z1!M^VDryjdfKUQSP(jhUV2IJ86p_TGYr5Fowx+kW zduv-~eCc%BaRyDD>3f%#zVxLJ{R{fshc5IxmyC9%({?(U$vyk|w)6YB=Gz+gH-CKj z6@bmSo^!VqyWv8S3AY6gtlagerv#-YR#;dGZ|>ItQD*mw%bp6XHc@H8hbsFA(K}KB zzlAk01oY(WnRLoTK%o3o;(VeleRj5Od{1=nVlp+KnK?7(Mh(_lSSJ^k&M(Z&WyUj! zIh@TzXw5VmB_XUsEth#+4r01vU9562tjqB$G)jYH5$Fk?Z-Df@f9+cS#?P0U$1 zgL%8s=nxC`h*2#vxuKwH;=FyrxR%STzp0s>LR`Js0_u&)$V zWG`||_J9&R#DB|a>v$NCuqW{7@>;e(;l$6L2G;HxSGQjx_%#^ymHtJ^K&XpT`SiaDjw=BUzK*2xafmy!BnWPxI+{Y*5f; z_zaCsw5aeIIt_3d#+p1jA^FX*F>GMZPAD`@c}rwvZ`+(GEzE$r}iFCrXR zME@cN%7N*Ih$eP?qw=>(&aw1pr4BdxlA(Ng>DQv zoWn%m<4;CY=3#{sO`U7*G3~j_v!RH@m9tn_&H&EFokLAqB*e$qm&3D6n%sk^Yhl?yYD%o;xAE(O9UaY%+V;5{3q&N03w>Kt#S%CfpqrC6}=cvQZ9 zpA3&9(mK8Y;1GLwWw4=?gH;YTMh&^s*ng>(~bK5*4<{qa@3HEYfjGfD3fwI7XLI8 zZkZE4C#l4dQx%y^$W*-UOo^QKIm6lbwKM7tFq24|-TC1xo7wYJG0e%3LxCYK?Bb#L z#a+BeN?kqd(Zr>=k@A{;sWnsdq`?k_zW7V+En>|17Cm?5>x5BQ5V$Fx@8-$H|CcS*OFw EU$8w%$N&HU delta 484 zcmYk1NiQs66o#L#s;O3rrs$?yH`+WG-G)n>XJI2&mVyNlZHgflmbN;TSlZeek|u6q zE3x(m?k~9iK%8oc$Tytxp7Xxvd%v5)|EBr=`SJ=RS;&|dx}Rb9TWLv7}| zM>nW*OSEWy9C@SBO=xZYIL#I Date: Sun, 21 Feb 2021 22:28:20 +0300 Subject: [PATCH 06/17] Removed multiple Connection creation --- .../core/jdbc/service/UserServiceImpl.java | 2 +- .../core/jdbc/service/UserServiceImpl.class | Bin 3949 -> 3931 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 1438 -> 1391 bytes 3 files changed, 1 insertion(+), 1 deletion(-) 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 643dde1d..9865239e 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -12,7 +12,7 @@ import jm.task.core.jdbc.util.Util; public class UserServiceImpl implements UserService { - Connection connection; + private static Connection connection; public void createUsersTable() { try { // Connection connection = Util.getDBConnection(); diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class index 273308d2b3b2a4cd572e82580c69917953a96e8d..54eb075af40f86145ed56e2eac7cc58e0fa5205b 100644 GIT binary patch delta 1078 zcma)*%T7~K6o$WYT56#!Qn?x_RS;}Z&|om4fFLC(*TTSPKr|`}2?o3l1RBNr4fS}5 zcLzGsfz|{~cmPMnnG>JDfr$?wiT^oNghUdv)1H&H);{a||GoB);J4u0F^?n79QSnP zydwnzs7T=cgy$o^_qY@0cTZ`&gfPWQjw&4?P5;YCB?~V(WRs^=K!_kEtW;&8YC@E= ziZQ$1shUjAat?l5ygCUea#~hPTH}u~V7L>f+!`zQT*py-xcV zU5WOUiY~0q5%nw+&sxz{D6&qGa;*)E&|Ud&x~p8X=n6zPBXd&qjLr8hP*&|sm?P=Y zcoRG3{HwyJ!YY+-65(c+Qq2msu$rx+s!_C-I;|!ev}+qJ)YD1SrftTp`YNuA(WzY# zxq1VaYFxILP75LFrS*1Gb@F$YUMFo?R`3?LMf=CQm2^mDmnu7@EJh>Uww{e@ z6p69#XLpy7D%oC{?OwP4+m4=fl42EoW2kH94Q=WCZmm5n6^?<}o6$lN51W2XlfooSGZ; oJY6pfI7OM+>z88poV|XAu83u^!zQsU&Jam=@;1IyX$r4?1ErFn^Z)<= delta 1107 zcma)*OHUI~7>1wH)>@#A3}|eSfjz-CLFjQ$eZXXO$5lQ)4b3^6;~Y)w=R2poAb{)+)1*C`D9K z%($KJQbrEvIFCb_ekQq~-J-a-$R*8bS0+g4d0F>zocS?2aE}CrMm{wU@ zcSD#it%}Iyo4A$Zw!L*3ij=qJ?UwR{w^y&XZDnTi4tE9o$NF(uZ%n^O(&*6-zAEb0 zGd4@zp7%6ZjWg^hoFO(tOWQ(;k~f(hcGggzoXTFA$frd`&?=AHB(Pm#IwfGYgmkb= zB20N~*1w~yu*<`x$Y1bS8a&2*9*8DS*$>4%PwT_^i((ItOtl!~$2?J83E9ytU)-uk zMy>YvEFHq`YF&id>+5k2Fqr)83nVO=5@4T7qeo@YE8ISIvR~i_6zSujt^tlP$RUO} z%m_zq{92uKi84)fJGHWgr##bH45g~u^weldh?8L(-$54rJm-aIUn-uBBbb_cr73d~ zVcc^Bq|L*LIjrQEf8&}d#mw(2tkdyDT0Z%Mi4sETstVy%>M<=CQokNo{|&43N5pzk vS)*!*F*U-eblK;t?~H~FMdtf5!)%o%52wftoNauL;JQ<7`dX72INtmQirl55 diff --git a/target/classes/jm/task/core/jdbc/util/Util.class b/target/classes/jm/task/core/jdbc/util/Util.class index be343603785ef7b284729a5402015c13de8269f1..1924532a333d75a1996a197664f5212252de1d21 100644 GIT binary patch delta 484 zcmYk1NiQs66o#L#s;O3rrs$?yH`+WG-G)n>XJI2&mVyNlZHgflmbN;TSlZeek|u6q zE3x(m?k~9iK%8oc$Tytxp7Xxvd%v5)|EBr=`SJ=RS;&|dx}Rb9TWLv7}| zM>nW*OSEWy9C@SBO=xZYIL#IwWw4=?gH;YTMh&^s*ng>(~bK5*4<{qa@3HEYfjGfD3fwI7XLI8 zZkZE4C#l4dQx%y^$W*-UOo^QKIm6lbwKM7tFq24|-TC1xo7wYJG0e%3LxCYK?Bb#L z#a+BeN?kqd(Zr>=k@A{;sWnsdq`?k_zW7V+En>|17Cm?5>x5BQ5V$Fx@8-$H|CcS*OFw EU$8w%$N&HU From ade6a95876dc9c619d260aff3f0e4ecd199c6440 Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Sun, 21 Feb 2021 22:42:16 +0300 Subject: [PATCH 07/17] Removed multiple Connection creation --- .idea/libraries/Maven__junit_junit_4_12.xml | 13 ------------- .idea/libraries/Maven__junit_junit_4_13_1.xml | 13 +++++++++++++ TaskJDBC.iml | 2 +- .../jm/task/core/jdbc/service/UserServiceImpl.java | 1 - 4 files changed, 14 insertions(+), 15 deletions(-) delete mode 100644 .idea/libraries/Maven__junit_junit_4_12.xml create mode 100644 .idea/libraries/Maven__junit_junit_4_13_1.xml diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml deleted file mode 100644 index d4110417..00000000 --- a/.idea/libraries/Maven__junit_junit_4_12.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_13_1.xml b/.idea/libraries/Maven__junit_junit_4_13_1.xml new file mode 100644 index 00000000..9fa24fcb --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/TaskJDBC.iml b/TaskJDBC.iml index 356c27f8..3066e11c 100644 --- a/TaskJDBC.iml +++ b/TaskJDBC.iml @@ -26,7 +26,7 @@ - + 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 9865239e..a02a276e 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -15,7 +15,6 @@ public class UserServiceImpl implements UserService { private static Connection connection; public void createUsersTable() { try { -// Connection connection = Util.getDBConnection(); if(connection == null){ connection = Util.getDBConnection(); } From 818704c57bc0ebbc757762d6a82aecbcc75b69ce Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Tue, 23 Feb 2021 19:38:36 +0300 Subject: [PATCH 08/17] 1.1.3_v.2 --- .../0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml | 24 -------------- TaskJDBC.iml | 3 ++ src/main/java/jm/task/core/jdbc/Main.java | 31 +++++++++--------- .../java/jm/task/core/jdbc/model/User.java | 12 ++++++- .../core/jdbc/service/UserServiceImpl.java | 28 ++++++++++++---- target/classes/jm/task/core/jdbc/Main.class | Bin 980 -> 1434 bytes .../jm/task/core/jdbc/model/User.class | Bin 1562 -> 2111 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 3931 -> 4861 bytes 8 files changed, 51 insertions(+), 47 deletions(-) diff --git a/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml b/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml index 50eecffd..150ce42e 100644 --- a/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml +++ b/.idea/dataSources/0130477f-cf98-4785-bfb1-dc2f7b4d16ba.xml @@ -911,29 +911,5 @@ SELECT|sys.sys_config SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE! -
- - 1 - int|0s - 1 - null - - - 2 - varchar(50)|0s - - - 3 - varchar(50)|0s - - - 4 - int|0s - - - 1 - id - 1 - \ No newline at end of file diff --git a/TaskJDBC.iml b/TaskJDBC.iml index 3066e11c..d6954a9e 100644 --- a/TaskJDBC.iml +++ b/TaskJDBC.iml @@ -26,6 +26,9 @@ + + + diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index 69aebcfa..f8829d9a 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -3,28 +3,27 @@ import java.util.ArrayList; import java.util.List; import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.service.UserService; import jm.task.core.jdbc.service.UserServiceImpl; public class Main { public static void main(String[] args) { // реализуйте алгоритм здесь - List listUser = new ArrayList<>(); + UserService us = new UserServiceImpl(); + + us.createUsersTable(); + us.saveUser("Ivan","Ivanov",(byte)37); + us.saveUser("Petr","Petrov",(byte)14); + us.saveUser("Gleb","Zemnuhov",(byte)17); + us.saveUser("Ivan","Petrov",(byte)34); + System.out.println(); + for (User u: us.getAllUsers()){ + System.out.println(u.toString()); + } + us.cleanUsersTable(); + us.dropUsersTable(); + - final String testName = "Ivan"; - final String testLastName = "Ivanov"; - final byte testAge = 5; -// listUser.add(new User("Ivan","Ivanov",(byte)36)); -// listUser.add(new User("Petr","Petrov",(byte)27)); -// listUser.add(new User("Klim","Klimov",(byte)42)); -// -// for(User user: listUser){ -// System.out.println(user.getName() + " " + user.getLastName() + " " + user.getAge() + " лет"); -// } - UserServiceImpl usi = new UserServiceImpl(); -// usi.cleanUsersTable(); - usi.createUsersTable(); - usi.saveUser(testName,testLastName, testAge); - usi.dropUsersTable(); } } 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..4f7dbe79 100644 --- a/src/main/java/jm/task/core/jdbc/model/User.java +++ b/src/main/java/jm/task/core/jdbc/model/User.java @@ -32,10 +32,15 @@ public Long getId() { return id; } - public void setId(Long id) { + public User(Long id, String name, String lastName, Byte age) { this.id = id; + this.name = name; + this.lastName = lastName; + this.age = age; } + public void setId(Long id) {this.id = id; } + public String getName() { return name; } @@ -59,4 +64,9 @@ public Byte getAge() { public void setAge(Byte age) { this.age = age; } + + public String toString(){ + + return this.getId() +" "+ this.getName() +" "+ this.getLastName() +" "+ this.getAge(); + } } 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 a02a276e..aa50b0b8 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -48,22 +48,38 @@ public void dropUsersTable() { } public void saveUser(String name, String lastName, byte age) { - + User user = new User(); + user.setName(name); + user.setLastName(lastName); + user.setAge(age); + long id = -1; + user.setId( id); try { if(connection == null){ connection = Util.getDBConnection(); } String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; PreparedStatement stmt = connection.prepareStatement(data); - stmt.setString(1,name); - stmt.setString(2,lastName); - stmt.setInt(3,age); + stmt.setString(1,user.getName()); + stmt.setString(2,user.getLastName()); + stmt.setInt(3,user.getAge()); stmt.executeUpdate(); + + ResultSet rs = stmt.executeQuery("SELECT LAST_INSERT_ID()"); + if(rs.next()){ + id = rs.getLong(1); + } + stmt.close(); +// Statement statement = connection.createStatement(); +// statement.executeQuery(""); +// user.setId(rs.getLong(1)); + String add = new String("User с именем – " + user.getName() +" добавлен в базу данных"); + System.out.println(add); } catch (SQLException throwables) { throwables.printStackTrace(); } - + user.setId( id); } @@ -91,7 +107,7 @@ public List getAllUsers() { Statement stmt = connection.createStatement(); ResultSet resultSet = stmt.executeQuery(SQL); while (resultSet.next()){ - list.add( new User(resultSet.getString(2) + list.add( new User(resultSet.getLong(1),resultSet.getString(2) ,resultSet.getString(3) ,(byte)resultSet.getInt(4))); } diff --git a/target/classes/jm/task/core/jdbc/Main.class b/target/classes/jm/task/core/jdbc/Main.class index a97d8795eb5da9386d663f344cf28715b38ff81c..1e0091d355d0e3448ea7031b83d32e8301daa40d 100644 GIT binary patch literal 1434 zcma)6TTc@~6#k|ZcWIYWT0lgUiz2P4tD<jgtE39n)rLVrj?t|rgh zMJoaYZBay_Dd^M?lPSjjE1F6%Ji&b-5lbt)U1B5Cix1wT@w6`r$P;r=m*M#kqH{D7H zhB2aGRKpP*ZK5mps^klsSaQomT5m0v>FUdr+NS~pw=)qO!?=Q!hO}fN8C2Np!=Myp zgyqP_CN!MDNrvc#@NZaFzy(7hm9D{;ebdsjX35V)q2siIGaAlfk|7o#|20zsrY}71 zyB-TZv0+lMNaXA-bAg)CmHzz7!T%8*Y8OkNtaF431xJEOh*_(!n! zfq9u$X$CrQpH{8rfCtD0x)nSmjSSvJm|oz`XDF*5(UF~~BEm3{=t^|Q$Erw%N#370 z5RcX6gNZ}&?z-GX`q4oCfT10XQS5PsDo!yhoT%a)!&?lHaGBvNrWeWS@D54(~9KdS~ w22BnVhJgt3ctjGlgvVH=T}2sdctQ<7rLP!5Ke4PJs^I(&43YL3X+wDa8)j)!zyJUM delta 554 zcmZ8d%Sr=55Uk1UX2;E%$Hqhx<0HOJjPZpB6-95tDjuTXag;?O@xksI@Z<-03VZVh zJbO`4^eTArpuZ#bL`0B*rmLo_tLU59hhe^bJ-z^#$9&6Nm`fkarmS8B^+t8w^W>#d z_X86KxIm0S+ic2Hflh{~>du-560Mc#QXJew9JYltq72DH&y|6@>${#`lLrk~eP%3V z(cSu76bj`m+qHLl|+NQl!g{Ke=$^oWd;$rey}Z1Tn0OQ=UtjT$ciXWTX8swigtxpuvbr1=wL-cV z5jqU0GU$j>?F)Cb>{UN;3IPHGRIPTeV-Q6`9T>u}nx+038chP#Cm8z==x}Uv%eJ<~ zqV|M15y>Szr{5!$({0nX#67wc?71Tehq4)?b;>}{$zn)QO~Oy12YGq}=*1)om?kfk zWA(=iBN!zlFi!GuN)jVxf+iy*FQP;pM~c>$F-7_E$e=Xo E4fIJ~z5oCK diff --git a/target/classes/jm/task/core/jdbc/model/User.class b/target/classes/jm/task/core/jdbc/model/User.class index 00556a87fe2a2b5b4719fa7bf193c46ac2d1e758..014d35491167a5af3015b921e912b734dad826af 100644 GIT binary patch literal 2111 zcmaKsZ&MRj6vm&Mglq_lQVbvwE&dNt+$xGn6bmSpPR7pEmYKfmlH8$7lU*j+IQCsX zQae*{rq1{Q{7{b1*}cFfYfFmfH>A&{7t^u`!7Y4Ce0Ab0Xon{#U3Y zzbPBjm{G`h&3=n|KxGTF3NwQN*Lz;8sXIknM7GEeeKh3v63*0D^yE*#_5@8wE}J^sCiMkB}%sk1WYl83kd3hjVkUaSVWa7 zDU|wPjfj{o+PEjCV>GRsqRRSrHtypA)8P7=)U`j|sImh2(8eS2FN8s?sxbR=&kwz} z-uAlQPD`)(eh|8$7x-O;>8KX(oqgTudfia_4ee|-YYOF*jg6qyYx~^HZLmWW&euI( zzv;DibmteB%F-r5!)2>lb+GZ zpXqmo(nvRMrVFPOC62}2`241l`$kVJ#%OVLY&kGodiMb1)x`r$ zoajx{1DK^{8Kby_bC@I8~M_H|3m2?8f75p zk{K{R1p5Vd1^aJW3sU(AyCm3_V2@X4bA9k-Y691Zd4upb34e<)x0y~Qit;d4I!>T$ zPK@eNDw04sN+lc3B$XUFzQ>xOSs{&B<)wh7ld{FRRHG=P0ZN|G z6p)EQkmso&udta`kwiDg6_cW85nr9tw|1o^UQi40y-KZ75RpNcKuE1+LzDF6Tf literal 1562 zcmaKrZ%-3J5XPS^*Orzd6-p5V6h&>zpF`1T0+Jw!2}y&AXy0GkP2GCEGj~^`-%1mS zi7)&BekkL!cNcoC2XAg}cV?db&Ft)-zrTJ1*vFG1GMLK4C?SiSK)G*ywoKb{dghyU zUv>h4+@W$*a3nBQtG5c6Mj?-42{R}Oto8?HVEG@-j_XOY-)(oyf!md~`QDeFfZQ=AfvkD z5lxrM0?TiQPM`*|rF_-4<+0Akb4tSfUnmff;ErPuMM5qwZQYQ1?~bEx{fmZ&c7%e6aU2kI?> zY)=NKEPlRLPb9?UXZ^^zkdzO7IyKK!-D`o$SaN(m1DGBKEG7kFzm}MxL^HlJt{6XB z<>))sH#d$Jl5><88+ymsF3T#OyF;%dUn||(f*zq=JvhA4l*NgpAg?enN@!E^8prl{1Vpq zr-d1Wb=;xV0(be<0yZNJ+KLuvY+WGV*uKDQW9I_pkzSP ztWBl3IQ^$f(j*oAdN9Q^H*haL*`$rof1vV>K^clhJp%F4u7=xPoL^70ChXxK9_!(rIFd@_%L Ee+&Hd?*IS* diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class index 54eb075af40f86145ed56e2eac7cc58e0fa5205b..1c3eab5c312a24e54cbbc6385ce927ae70d8c054 100644 GIT binary patch literal 4861 zcmb7Ii+@w)8GcTZ_9W>+uv8$3cm(Z|UI>bcwgOAr0KxP^lNQSmNYg_Jq)EsH>9F&P zZgV&0Zn`VGxr^HXwWR`X%uP49xiUAmxw~%rCpKiydrp$3wEAQ8*VB{ld%yR4-{*ba z=ljAdZ$JM6fHnBH8#dTgI5bqDTET*Sv4b&xGL{hOC2AF1J==RBpGf-q_)su^*vNOZO|Mq4*z23qZ4K&h zm5N0g7GsHmg>!68ck!$d%NvnAA0tMJi7%>jR~~P5VyS{h+k1n7Xi$#^+QLCSv{CQs zj_Sd?LXl`hFEI06`Pg96@Fs@zP**g#DcGy0(s{kBFC5kbebMe+p)NY;40c8Jp59Pr zpm#vOGdQ3(rD7w7-XG{~-yG=m-m==)l#J!_U6&5Vh7ED+UE}lBU>UAav0THo&=u5{ zQ!B@-V4iWvh!^rkUuKB85qqzNl3C?QKAT7lxB5cjX@!QB!h))JGMzJ2+(6@Lk6XjR zLvbS`1$5(jyhnpqjOSpPMjGFV_D z=td*#^6+a|jT;rHIm3kF9TMml+cg?)7TX%yhKta-aVyrUxJ|?DXi;#5nUI-#+o-^y z9*iXmM)w{P!`oIQPiM)zFIwQDip? zQ5Dpc+NP3UHRwaXiftP1!hnLMWme7ds=!46tnH--LvxVTto8de?2w&nxbt+a8?jTv zF6?HtIBr&}c1A#Exr7sg8sZ?%u0a;CUpQb&T$_ZtN5e4oS``n87F2mdAz!~t?UPp9 zZ<>aj7@_J!g5h9$R1XItQTDZzW>=`gOSJot){wyg1zNEMw-$`-r~>c1Bi(D{3dwxL z$hX!YhrEh{hJ(1Lvc1bD3LGip5F?~IZx{1X4e!Tcs~{HP9Nv&`i$t?R#Rq0cyoIug z`OE(IileaJW9l3 znT(Mltj+J7V+ApayHHd=q@Y2cdUooCsS{Jjr%q0tmM!$Dle+nN;`~E0d7QhRJ^$GG zBeLaV8a^TfaOTri$Zm|`V{(w)=)xy(RK+JXJdRJzOnEd%eJ5P$0zoStLy5G%#}YA~ z0VCw~XYg4SpVRP!h>3Mx%(NlCrtBqCPJCX$iVkvs$HB(l?#_yq)VFO8_VRe>(ASwD zeNjOA5`}N31k3=OP<%zfk|L=ZE_JEmtEGs{voMg&#zw=5T;7diu#1SNg$3W#@D#p9 zaXeJ^#uq?45a%aW~W!*zsecPRwpdieRw2DauH_SdyNZCtoBkY)Vo-#bR z!ikj8RTvpGvQas$*m3w zVcoQ%PAjS0j^z4Lj^om9q)T^xZ#I381jc9NhO+5QWgIRU zC{8+av4e(8&aFwaE86DkCw{y~#K_|57-p$B1F>ZpXGOMU$>N+t&MJ0p>3SoDmxEPl z<6OavXZaj>Pu~v2e}YU=wva?wVD%`z;S;Xo<=qAar}*oZ3p~F9sC?(mpU>y{$1NJdUPu+~jdwa|*YNqqPnj)>e5Oi>gi`FpiCtrK;W1BIWY1U|}0toE|4#jH71~ zQ9C?Nt{TVo;)iPaaQ8T3lQ3j*5(x#{JkHwWBvM@L^0+2JRe1vQJTAv14%xtMX?Cx| z5|0g>#(fO(f!YVh@vylG|JHtxk8yl>0v~O0pTx&K?s0tjDY#o05_vKmv@oU_ui|`} zF?--)>TBTQ^?yEYA>_A`BWw9><~CZkaHf^F@pW>IM+h6xkN5KO7vMqJhQsLKsT|~u zVI!X8>@jrWC0>$W#a8anjn~kFKk$Q55rYsc{g zg56cgfKsyxcbctU^{{wmv$|!l*sgVibX^&It6jJ8%f$eeVmo=hgZ#dmpzowzjF!6y z`EJ5IXaaaMgK5A5rgx5MZYVp^K~+m*%TSt+9WOGaac5EUw9lf$*MuLla3i;lj2O4>kIUdGoPcp_KU!+rQVgI`$exR-BZ zY~K5*mG{%;VOl*%yN9TtN6I?6gs}+>T&b_{vyX0rGh5wy27Ab1|KRIZ_ Gzy1fsna0up delta 1715 zcma)6TT@$A6#h=mNltol(gFpVI8Z2sl!Qx)RFG>ZEl7Y;LbNosg_#UMu-! zr}4v|-+Tw48lNv2=WMDIu9NLQnY0yHU5OZ{OvFVfK>G8}o15E%Y|=+XB$LufP6j)%liN1b6H zgs_};ic5MyP)@r|972x*XX0!$F*6n)Rghik?;anT9|}$k#YclFYl9QL;-;Rj^oehE zk2?a@g*-fB;t2Xh+}`Ml;h2s`O&rGw@wL6kp<_@%p19@8GhB#a$i!nfC4SR=B{7Vc zcpOaR7)_U?m4^Lc17jH1amK_1CdD7NYS#eHny_O^L9NI(O2nu$+ckq(9SIY2m>1Wa zRoZz4xgw(HGU1a7N*2QcgCw?+KyKQ5`3Y1Qg6peK2ct=6TziSh}8&x^k zsgh@>CxU$=vvU)P=t!bLcwE0KPl$C_PV)sy7X(A`Zx5_MS>nKki~Kq)<5pba*i0?J zWh`)};ELtFATr%WB4PR#{MgP-vO zj9kX7<-`!ArGl19K2`sL;f4Q=;YGYeB$B{2sBlPPB40uO9$W6heFu70S-r-&S4*P8 zhI+f#u9YQGrNV2sm!}7g{3L3nC5Z+F{qoWQ({1ObwpD~;E7+gax{QMb z%jj4}moPFyn}q6Mt90T%<}c)N4WNhD$YB=L$2xjhLj(sAwUF;)$N;g+X3^;R2XEU3 z-Zs2}Hwhw};=V<^DU@!g_fV+gZP_~#>cS1Y%ch}lN`!n!s8d;oyH^n*+UTLp5^|ix zb_G2ZRPJGlNL7+Js^A9pmak$U=GCa!NgKSHBmL)wVH+0j;`9pQNle?&e|!DMiX?VP zU7bA@%M0+8e@PrJ-WFrjRkL($WpUuOqoSXl7|+Eq?BKOih!gDE0TMHa12{>lhPYyo zqf^{3BMf64BZyB7LG>`3EX!t*CX2DjkQ=r5 W(zQsumg?JxE1JGBKBduy&;A0r0u Date: Tue, 23 Feb 2021 20:49:13 +0300 Subject: [PATCH 09/17] 1.1.3_v.3 Moved implementation of methods to Dao --- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 110 ++++++++++++++- .../core/jdbc/service/UserServiceImpl.java | 133 +++--------------- .../core/jdbc/service/UserServiceImpl.class | Bin 4861 -> 1176 bytes 3 files changed, 125 insertions(+), 118 deletions(-) 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..dd70a5f3 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -1,35 +1,137 @@ package jm.task.core.jdbc.dao; -import jm.task.core.jdbc.model.User; - +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; import java.util.List; +import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.util.Util; public class UserDaoJDBCImpl implements UserDao { public UserDaoJDBCImpl() { } + private static Connection connection; public void createUsersTable() { + try { + if(connection == null){ + connection = Util.getDBConnection(); + } + Statement stmt = connection.createStatement(); + String creatTable = "CREATE TABLE IF NOT EXISTS user_table" + + "(id INTEGER not NULL AUTO_INCREMENT PRIMARY KEY ," + + "name VARCHAR(50)," + + "lastName VARCHAR(50)," + + "age INT(3))"; + stmt.executeUpdate(creatTable); + stmt.close(); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } } public void dropUsersTable() { + try{ + if(connection == null){ + connection = Util.getDBConnection(); + } + Statement stmt = connection.createStatement(); + String dropTable = "DROP TABLE IF EXISTS user_table"; + stmt.executeUpdate(dropTable); + stmt.close(); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } } public void saveUser(String name, String lastName, byte age) { + User user = new User(); + user.setName(name); + user.setLastName(lastName); + user.setAge(age); + long id = -1; + user.setId( id); + try { + if(connection == null){ + connection = Util.getDBConnection(); + } + String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; + PreparedStatement stmt = connection.prepareStatement(data); + stmt.setString(1,user.getName()); + stmt.setString(2,user.getLastName()); + stmt.setInt(3,user.getAge()); + stmt.executeUpdate(); + + ResultSet rs = stmt.executeQuery("SELECT LAST_INSERT_ID()"); + if(rs.next()){ + id = rs.getLong(1); + } + + stmt.close(); +// Statement statement = connection.createStatement(); +// statement.executeQuery(""); +// user.setId(rs.getLong(1)); + String add = new String("User с именем – " + user.getName() +" добавлен в базу данных"); + System.out.println(add); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + user.setId( id); } public void removeUserById(long id) { - + String SQL = ("DELETE FROM user_table WHERE ID = "+ id); + try { + if(connection == null){ + connection = Util.getDBConnection(); + } + Statement stmt = connection.createStatement(); + stmt.executeUpdate(SQL); + stmt.close(); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } } public List getAllUsers() { - return null; + String SQL = "SELECT * FROM user_table"; + List list = new ArrayList<>(); + try{ + if(connection == null){ + connection = Util.getDBConnection(); + } + Statement stmt = connection.createStatement(); + ResultSet resultSet = stmt.executeQuery(SQL); + while (resultSet.next()){ + list.add( new User(resultSet.getLong(1),resultSet.getString(2) + ,resultSet.getString(3) + ,(byte)resultSet.getInt(4))); + } + stmt.close(); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + return list; } public void cleanUsersTable() { + String SQL = "DELETE FROM user_table"; + try { + if(connection == null){ + connection = Util.getDBConnection(); + } + Statement stmt = connection.createStatement(); + stmt.executeUpdate(SQL); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } } } 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 aa50b0b8..61b862ae 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -6,129 +6,34 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; +import jm.task.core.jdbc.dao.UserDaoJDBCImpl; import jm.task.core.jdbc.model.User; import java.util.List; import jm.task.core.jdbc.util.Util; -public class UserServiceImpl implements UserService { - private static Connection connection; +public class UserServiceImpl extends UserDaoJDBCImpl implements UserService { public void createUsersTable() { - try { - if(connection == null){ - connection = Util.getDBConnection(); - } - Statement stmt = connection.createStatement(); + super.createUsersTable(); + } - String creatTable = "CREATE TABLE IF NOT EXISTS user_table" - + "(id INTEGER not NULL AUTO_INCREMENT PRIMARY KEY ," - + "name VARCHAR(50)," - + "lastName VARCHAR(50)," - + "age INT(3))"; - stmt.executeUpdate(creatTable); - stmt.close(); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - } + public void dropUsersTable() { + super.dropUsersTable(); + } - public void dropUsersTable() { - try{ - if(connection == null){ - connection = Util.getDBConnection(); - } - Statement stmt = connection.createStatement(); - String dropTable = "DROP TABLE IF EXISTS user_table"; - stmt.executeUpdate(dropTable); - stmt.close(); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } + public void saveUser(String name, String lastName, byte age) { + super.saveUser(name,lastName,age); + } - } + public void removeUserById(long id) { + super.removeUserById(id); + } - public void saveUser(String name, String lastName, byte age) { - User user = new User(); - user.setName(name); - user.setLastName(lastName); - user.setAge(age); - long id = -1; - user.setId( id); - try { - if(connection == null){ - connection = Util.getDBConnection(); - } - String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; - PreparedStatement stmt = connection.prepareStatement(data); - stmt.setString(1,user.getName()); - stmt.setString(2,user.getLastName()); - stmt.setInt(3,user.getAge()); - stmt.executeUpdate(); + public List getAllUsers() { + return super.getAllUsers(); + } - ResultSet rs = stmt.executeQuery("SELECT LAST_INSERT_ID()"); - if(rs.next()){ - id = rs.getLong(1); - } - - stmt.close(); -// Statement statement = connection.createStatement(); -// statement.executeQuery(""); -// user.setId(rs.getLong(1)); - String add = new String("User с именем – " + user.getName() +" добавлен в базу данных"); - System.out.println(add); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - user.setId( id); - - } - - public void removeUserById(long id) { - String SQL = ("DELETE FROM user_table WHERE ID = "+ id); - try { - if(connection == null){ - connection = Util.getDBConnection(); - } - Statement stmt = connection.createStatement(); - stmt.executeUpdate(SQL); - stmt.close(); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - } - - public List getAllUsers() { - String SQL = "SELECT * FROM user_table"; - List list = new ArrayList<>(); - try{ - if(connection == null){ - connection = Util.getDBConnection(); - } - Statement stmt = connection.createStatement(); - ResultSet resultSet = stmt.executeQuery(SQL); - while (resultSet.next()){ - list.add( new User(resultSet.getLong(1),resultSet.getString(2) - ,resultSet.getString(3) - ,(byte)resultSet.getInt(4))); - } - stmt.close(); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - return list; - } - - public void cleanUsersTable() { - String SQL = "DELETE FROM user_table"; - try { - if(connection == null){ - connection = Util.getDBConnection(); - } - Statement stmt = connection.createStatement(); - stmt.executeUpdate(SQL); - - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - } + public void cleanUsersTable() { + super.cleanUsersTable(); + } } diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class index 1c3eab5c312a24e54cbbc6385ce927ae70d8c054..f08bf1fb27a0ab81327f4cf15d39044865e46cb2 100644 GIT binary patch literal 1176 zcma)*%TC)+5QhIlLK48`k^(KXKxiB4BotR=8HCh;DiK9&LfIdjqtw(FWIK`iR_zL@ zi#|Xfs_K922;9VrZhS5?^UcifIluq>`~~0`?-wzLLK#H^^C$__Z#^rP(O1h3LS@|! zZft8H1M737!gCpP&pT%q-kmE@I&pj_J{2gKjcd)Q7+BDNRXbENRyrWMk~gl>#w7!W zHZBjs;O<}3vVj$>3REIFPND=%vv(`U(sHFgwEA)A_`~+>O()G;HSiScM2E@?QbOn3 z#Xz8Fc2kc{1JCeWU}>o0kFJ}f7pR(zlsSqW*XlV@+}4$D8+f5BU9nvy{l`+v*b!*V zio-U?j;#`b`srQ^RK{MemO1XM^eh-CrtCSsx*T~oDoli9jlIB@?zIdZE#%~~7=Ljh zfmZLoi)k~3FFmHH&dNyTT^YrfiM=3)^b#F`IfoL8uE0Xy8Tv9Fg*1Ga(d;Cr3Xk2m zi6HG$re5p^qtI5L9G8T3t!PH4BmJYXkC&8QV3#9V=E_Orx5ksjRdAhe-b4K0W{%EC z%;4O-;@(Id@EUJ;V!;o=$C=>rW3c|sz#59E<^njW46M;73s{^6Y!I-S3*bCY09W)W z5>#on4tMVHWSX(XcDEBoGxeKv!3flGK#JbIbl=T-1>d|)q literal 4861 zcmb7Ii+@w)8GcTZ_9W>+uv8$3cm(Z|UI>bcwgOAr0KxP^lNQSmNYg_Jq)EsH>9F&P zZgV&0Zn`VGxr^HXwWR`X%uP49xiUAmxw~%rCpKiydrp$3wEAQ8*VB{ld%yR4-{*ba z=ljAdZ$JM6fHnBH8#dTgI5bqDTET*Sv4b&xGL{hOC2AF1J==RBpGf-q_)su^*vNOZO|Mq4*z23qZ4K&h zm5N0g7GsHmg>!68ck!$d%NvnAA0tMJi7%>jR~~P5VyS{h+k1n7Xi$#^+QLCSv{CQs zj_Sd?LXl`hFEI06`Pg96@Fs@zP**g#DcGy0(s{kBFC5kbebMe+p)NY;40c8Jp59Pr zpm#vOGdQ3(rD7w7-XG{~-yG=m-m==)l#J!_U6&5Vh7ED+UE}lBU>UAav0THo&=u5{ zQ!B@-V4iWvh!^rkUuKB85qqzNl3C?QKAT7lxB5cjX@!QB!h))JGMzJ2+(6@Lk6XjR zLvbS`1$5(jyhnpqjOSpPMjGFV_D z=td*#^6+a|jT;rHIm3kF9TMml+cg?)7TX%yhKta-aVyrUxJ|?DXi;#5nUI-#+o-^y z9*iXmM)w{P!`oIQPiM)zFIwQDip? zQ5Dpc+NP3UHRwaXiftP1!hnLMWme7ds=!46tnH--LvxVTto8de?2w&nxbt+a8?jTv zF6?HtIBr&}c1A#Exr7sg8sZ?%u0a;CUpQb&T$_ZtN5e4oS``n87F2mdAz!~t?UPp9 zZ<>aj7@_J!g5h9$R1XItQTDZzW>=`gOSJot){wyg1zNEMw-$`-r~>c1Bi(D{3dwxL z$hX!YhrEh{hJ(1Lvc1bD3LGip5F?~IZx{1X4e!Tcs~{HP9Nv&`i$t?R#Rq0cyoIug z`OE(IileaJW9l3 znT(Mltj+J7V+ApayHHd=q@Y2cdUooCsS{Jjr%q0tmM!$Dle+nN;`~E0d7QhRJ^$GG zBeLaV8a^TfaOTri$Zm|`V{(w)=)xy(RK+JXJdRJzOnEd%eJ5P$0zoStLy5G%#}YA~ z0VCw~XYg4SpVRP!h>3Mx%(NlCrtBqCPJCX$iVkvs$HB(l?#_yq)VFO8_VRe>(ASwD zeNjOA5`}N31k3=OP<%zfk|L=ZE_JEmtEGs{voMg&#zw=5T;7diu#1SNg$3W#@D#p9 zaXeJ^#uq?45a%aW~W!*zsecPRwpdieRw2DauH_SdyNZCtoBkY)Vo-#bR z!ikj8RTvpGvQas$*m3w zVcoQ%PAjS0j^z4Lj^om9q)T^xZ#I381jc9NhO+5QWgIRU zC{8+av4e(8&aFwaE86DkCw{y~#K_|57-p$B1F>ZpXGOMU$>N+t&MJ0p>3SoDmxEPl z<6OavXZaj>Pu~v2e}YU=wva?wVD%`z;S;Xo<=qAar}*oZ3p~F9sC?(mpU>y{$1NJdUPu+~jdwa|*YNqqPnj)>e5Oi>gi`FpiCtrK;W1BIWY1U|}0toE|4#jH71~ zQ9C?Nt{TVo;)iPaaQ8T3lQ3j*5(x#{JkHwWBvM@L^0+2JRe1vQJTAv14%xtMX?Cx| z5|0g>#(fO(f!YVh@vylG|JHtxk8yl>0v~O0pTx&K?s0tjDY#o05_vKmv@oU_ui|`} zF?--)>TBTQ^?yEYA>_A`BWw9><~CZkaHf^F@pW>IM+h6xkN5KO7vMqJhQsLKsT|~u zVI!X8>@jrWC0>$W#a8anjn~kFKk$Q55rYsc{g zg56cgfKsyxcbctU^{{wmv$|!l*sgVibX^&It6jJ8%f$eeVmo=hgZ#dmpzowzjF!6y z`EJ5IXaaaMgK5A5rgx5MZYVp^K~+m*%TSt+9WOGaac5EUw9lf$*MuLla3i;lj2O4>kIUdGoPcp_KU!+rQVgI`$exR-BZ zY~K5*mG{%;VOl*%yN9TtN6I?6gs}+>T&b_{vyX0rGh5wy27Ab1|KRIZ_ Gzy1fsna0up From 18715c97064287f06a15100aedfc0875540157f4 Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Tue, 23 Feb 2021 20:50:30 +0300 Subject: [PATCH 10/17] 1.1.3_v.3 Moved implementation of methods to Dao --- .../java/jm/task/core/jdbc/service/UserServiceImpl.java | 7 ------- 1 file changed, 7 deletions(-) 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 61b862ae..0c96b0bd 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,9 @@ package jm.task.core.jdbc.service; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.ArrayList; import jm.task.core.jdbc.dao.UserDaoJDBCImpl; import jm.task.core.jdbc.model.User; import java.util.List; -import jm.task.core.jdbc.util.Util; public class UserServiceImpl extends UserDaoJDBCImpl implements UserService { public void createUsersTable() { From 931df0e6cc977ffa6d0e9e422fb470d87b81ccd3 Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Tue, 23 Feb 2021 21:18:12 +0300 Subject: [PATCH 11/17] 1.1.4 v.1 --- .../java/jm/task/core/jdbc/util/Util.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) 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 c789ace5..8b4af5df 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -2,6 +2,13 @@ import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; +import java.util.Properties; +import jm.task.core.jdbc.model.User; +import org.hibernate.SessionFactory; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; +import org.hibernate.cfg.Configuration; +import org.hibernate.cfg.Environment; +import org.hibernate.service.ServiceRegistry; public class Util { // реализуйте настройку соеденения с БД @@ -23,4 +30,42 @@ public static Connection getDBConnection(){ } return connection; } + + // +++++++++++++++++++++++++++++++++++++++ Hibernate connection ++++++++++++++++++++++++++++++++++// + + private static SessionFactory sessionFactory; + public static SessionFactory getSessionFactory() { + if (sessionFactory == null) { + try { + Configuration configuration = new Configuration(); + + // Hibernate settings equivalent to hibernate.cfg.xml's properties + Properties settings = new Properties(); + settings.put(Environment.DRIVER, "com.mysql.cj.jdbc.Driver"); + settings.put(Environment.URL, "jdbc:mysql://localhost:3306/db_user?autoReconnect=true&useSSL=false"); + settings.put(Environment.USER, "newroot"); + settings.put(Environment.PASS, "root"); + settings.put(Environment.DIALECT, "org.hibernate.dialect.MySQL8Dialect"); + + settings.put(Environment.SHOW_SQL, "true"); + + settings.put(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread"); + + settings.put(Environment.HBM2DDL_AUTO, "create-drop"); + + configuration.setProperties(settings); + + configuration.addAnnotatedClass(User.class); + + ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() + .applySettings(configuration.getProperties()).build(); + + sessionFactory = configuration.buildSessionFactory(serviceRegistry); + } catch (Exception e) { + e.printStackTrace(); + } + } + return sessionFactory; + } + } From 8a3666435a4838f111bb33d74adfac42bdb82ccc Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Wed, 24 Feb 2021 11:32:56 +0300 Subject: [PATCH 12/17] PPT_1.1.4 v.1.1 --- TaskJDBC.iml | 1 + src/main/java/jm/task/core/jdbc/Main.java | 30 +++++---- .../core/jdbc/dao/UserDaoHibernateImpl.java | 26 +++++++- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 57 ++++++++++++------ .../java/jm/task/core/jdbc/model/User.java | 14 +++-- .../core/jdbc/service/UserServiceImpl.java | 3 +- .../java/jm/task/core/jdbc/util/Util.java | 12 +++- target/classes/jm/task/core/jdbc/Main.class | Bin 1434 -> 790 bytes .../core/jdbc/dao/UserDaoHibernateImpl.class | Bin 1051 -> 2832 bytes .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 1036 -> 4896 bytes .../jm/task/core/jdbc/model/User.class | Bin 2111 -> 2293 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 1176 -> 1181 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 1391 -> 3558 bytes 13 files changed, 101 insertions(+), 42 deletions(-) diff --git a/TaskJDBC.iml b/TaskJDBC.iml index d6954a9e..110593d6 100644 --- a/TaskJDBC.iml +++ b/TaskJDBC.iml @@ -29,6 +29,7 @@ + diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index f8829d9a..9fbc24d4 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,10 +1,9 @@ package jm.task.core.jdbc; -import java.util.ArrayList; -import java.util.List; -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 org.hibernate.SessionFactory; public class Main { @@ -12,18 +11,17 @@ public static void main(String[] args) { // реализуйте алгоритм здесь UserService us = new UserServiceImpl(); - us.createUsersTable(); - us.saveUser("Ivan","Ivanov",(byte)37); - us.saveUser("Petr","Petrov",(byte)14); - us.saveUser("Gleb","Zemnuhov",(byte)17); - us.saveUser("Ivan","Petrov",(byte)34); - System.out.println(); - for (User u: us.getAllUsers()){ - System.out.println(u.toString()); - } - us.cleanUsersTable(); - us.dropUsersTable(); - + us.createUsersTable(); + us.saveUser("Ivan","Ivanov",(byte)37); + us.saveUser("Petr","Petrov",(byte)14); + us.saveUser("Gleb","Zemnuhov",(byte)17); + us.saveUser("Ivan","Petrov",(byte)34); +// System.out.println(); +// for (User u: us.getAllUsers()){ +// System.out.println(u.toString()); +// } +// us.cleanUsersTable(); +// us.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..7aa132ad 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -3,8 +3,12 @@ import jm.task.core.jdbc.model.User; import java.util.List; +import jm.task.core.jdbc.util.Util; +import org.hibernate.Session; +import org.hibernate.SessionFactory; + +public class UserDaoHibernateImpl extends UserDaoJDBCImpl implements UserDao { -public class UserDaoHibernateImpl implements UserDao { public UserDaoHibernateImpl() { } @@ -12,16 +16,32 @@ public UserDaoHibernateImpl() { @Override public void createUsersTable() { - + super.createUsersTable(); } @Override public void dropUsersTable() { - + super.dropUsersTable(); } @Override public void saveUser(String name, String lastName, byte age) { + User user = new User(name,lastName,age); + SessionFactory sessionFactory = null; + Session session = null; + try{ + sessionFactory = Util.getSessionFactory(); + session = sessionFactory.getCurrentSession(); + session.beginTransaction(); + session.save(user); + session.getTransaction().commit(); + }catch (Exception e){ + System.out.println("Ошибка saveUser: " + e); + }finally { + try{session.close();}catch (Exception ignored){}; + try{sessionFactory.getCurrentSession().close();}catch (Exception ignored){}; + } + } 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 dd70a5f3..50e3a65f 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -17,40 +17,52 @@ public UserDaoJDBCImpl() { private static Connection connection; public void createUsersTable() { + Connection connection = null; + Statement stmt = null; try { if(connection == null){ connection = Util.getDBConnection(); } - Statement stmt = connection.createStatement(); + stmt = connection.createStatement(); String creatTable = "CREATE TABLE IF NOT EXISTS user_table" - + "(id INTEGER not NULL AUTO_INCREMENT PRIMARY KEY ," + + "(id LONG not NULL AUTO_INCREMENT PRIMARY KEY ," + "name VARCHAR(50)," + "lastName VARCHAR(50)," + "age INT(3))"; stmt.executeUpdate(creatTable); - stmt.close(); + + System.out.println("Таблица создана!!!"); } catch (SQLException throwables) { throwables.printStackTrace(); + }finally { + try{connection.close();}catch (Exception ignored){} + try{stmt.close();}catch (Exception ignored){} } } public void dropUsersTable() { + Connection connection = null; + Statement stmt = null; try{ if(connection == null){ connection = Util.getDBConnection(); } - Statement stmt = connection.createStatement(); + stmt = connection.createStatement(); String dropTable = "DROP TABLE IF EXISTS user_table"; stmt.executeUpdate(dropTable); - stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); + }finally { + try{connection.close();}catch (Exception ignored){} + try{stmt.close();}catch (Exception ignored){} } } public void saveUser(String name, String lastName, byte age) { + Connection connection = null; + PreparedStatement stmt = null; User user = new User(); user.setName(name); user.setLastName(lastName); @@ -62,7 +74,7 @@ public void saveUser(String name, String lastName, byte age) { connection = Util.getDBConnection(); } String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; - PreparedStatement stmt = connection.prepareStatement(data); + stmt = connection.prepareStatement(data); stmt.setString(1,user.getName()); stmt.setString(2,user.getLastName()); stmt.setInt(3,user.getAge()); @@ -72,66 +84,77 @@ public void saveUser(String name, String lastName, byte age) { if(rs.next()){ id = rs.getLong(1); } - - stmt.close(); -// Statement statement = connection.createStatement(); -// statement.executeQuery(""); -// user.setId(rs.getLong(1)); String add = new String("User с именем – " + user.getName() +" добавлен в базу данных"); System.out.println(add); } catch (SQLException throwables) { throwables.printStackTrace(); + }finally { + try{connection.close();}catch (Exception ignored){} + try{stmt.close();}catch (Exception ignored){} } user.setId( id); } public void removeUserById(long id) { + Connection connection = null; + Statement stmt = null; String SQL = ("DELETE FROM user_table WHERE ID = "+ id); try { if(connection == null){ connection = Util.getDBConnection(); } - Statement stmt = connection.createStatement(); + stmt = connection.createStatement(); stmt.executeUpdate(SQL); - stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); + }finally { + try{connection.close();}catch (Exception ignored){} + try{stmt.close();}catch (Exception ignored){} } } public List getAllUsers() { + Connection connection = null; + Statement stmt = null; String SQL = "SELECT * FROM user_table"; List list = new ArrayList<>(); try{ if(connection == null){ connection = Util.getDBConnection(); } - Statement stmt = connection.createStatement(); + stmt = connection.createStatement(); ResultSet resultSet = stmt.executeQuery(SQL); while (resultSet.next()){ list.add( new User(resultSet.getLong(1),resultSet.getString(2) ,resultSet.getString(3) ,(byte)resultSet.getInt(4))); } - stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); + }finally { + try{connection.close();}catch (Exception ignored){} + try{stmt.close();}catch (Exception ignored){} + try{stmt.close();}catch (Exception ignored){} } return list; } public void cleanUsersTable() { + Connection connection = null; + Statement stmt = null; String SQL = "DELETE FROM user_table"; try { if(connection == null){ connection = Util.getDBConnection(); } - Statement stmt = connection.createStatement(); + stmt = connection.createStatement(); stmt.executeUpdate(SQL); - } catch (SQLException throwables) { throwables.printStackTrace(); + }finally { + try{connection.close();}catch (Exception ignored){} + try{stmt.close();}catch (Exception ignored){} } } } 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 4f7dbe79..75605aaa 100644 --- a/src/main/java/jm/task/core/jdbc/model/User.java +++ b/src/main/java/jm/task/core/jdbc/model/User.java @@ -1,21 +1,27 @@ package jm.task.core.jdbc.model; import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; -@Table +@Entity +@Table(name = "user_table") public class User { @Id + @Column(name = "id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; - @Column + @Column(name = "name") private String name; - @Column + @Column(name = "lastName") private String lastName; - @Column + @Column(name = "age") private Byte age; public User() { 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 0c96b0bd..3e8baf63 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -1,11 +1,12 @@ 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 java.util.List; -public class UserServiceImpl extends UserDaoJDBCImpl implements UserService { +public class UserServiceImpl extends UserDaoHibernateImpl implements UserService { public void createUsersTable() { super.createUsersTable(); } 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 8b4af5df..e4aa050b 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -45,7 +45,7 @@ public static SessionFactory getSessionFactory() { settings.put(Environment.URL, "jdbc:mysql://localhost:3306/db_user?autoReconnect=true&useSSL=false"); settings.put(Environment.USER, "newroot"); settings.put(Environment.PASS, "root"); - settings.put(Environment.DIALECT, "org.hibernate.dialect.MySQL8Dialect"); + settings.put(Environment.DIALECT, "org.hibernate.dialect.MySQL5Dialect"); settings.put(Environment.SHOW_SQL, "true"); @@ -68,4 +68,14 @@ public static SessionFactory getSessionFactory() { return sessionFactory; } +// public static void setSessionFactory(){ +// assert sessionFactory != null; +// sessionFactory = Util.SessionFactory(); +// } + + public static void closeSF(){ + assert sessionFactory != null; + sessionFactory.close(); + } + } diff --git a/target/classes/jm/task/core/jdbc/Main.class b/target/classes/jm/task/core/jdbc/Main.class index 1e0091d355d0e3448ea7031b83d32e8301daa40d..5afc3eab7b312c8c58db13a94bcdf9e2ddbe59d3 100644 GIT binary patch delta 195 zcmXAhNeaSH5JX>+pTQU$Awm{TaUQ`e+{FtBdao=$2zrZbUAPrIl-NJgQ1q+rsz?3i zg`e;91!U~XaBn$2L)~)<{dUeeRY`Y%EmuS>Ts+Z{zN$DIi)RP|Qqic|T_#M0YRs6M zU)c*()p62ym0wD6Y)rb3FB(a{A=4zGC8;(CI^;s8HU1}AuoMb7vSKa078_xk?GLmt B67c{4 delta 826 zcmaKqTTc^F6otQ2E(7gQE(KIV1jS1ca8v}9B7))tEd?!j!CQth!ItSIGgG38rq9O5 zCMNm^e8vY7d@#QF;@|LJm?-WUMPg#iBzyK*d+l}hS=q1a-$ue;eth@{4D)y+Y^X{j zy&TXusME(GMN7_HHx1h?tQzTOu4m;HHN~>0=tu^YY|)r^vIQ^gIhL7EggL@djkr!f z^@`X(I0~)gci4pp5e9Sy8B#=6EpN)U7b~vixQe!T|1bTrm$i*#*7Xt*3{GgA)H%hl zA{t2lDJvSXp5>Tc(NT2%)jjhY7ljcf{}EZbO=M}?VSO6MY% zWK^#xeq{@*ioey;Ud)FB8!!7FUJ;|?)eY4?=9_g*XU4a+Ib&O9!B=$`%w^m1Yd3U~ zel5D<6id4$jZ}49z3NkC#s1{~224~xt5mcp?U|XiS+f)fS6f5fu~|a0A4pWxQ7>_> zIvMI5o)^qNK_fRM>Oo$|Ez$wDz@pEUe4ASN;6?RiXrl6-o=px9Y;jDn#c{>#;1;J9 zZ|IU_O!0|{l#qrtncQUh-S$`EUR6lEuGkQr8vMIQX_DAP1I}8#OJg0j)7`9hLGK9I!9m!-g?s8B54U}2pz6}0APEkVNnb(MDjC`X< K(1(JCc=QwFO13`$ diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class index cf21855da5fdd68e96b405f7ea4b41cc76d39a53..4c58170bb4d2d394b50352127e0ba50d30e918ce 100644 GIT binary patch literal 2832 zcmaJ@T~iZR7=8{UEQAFVMU4t#>jwcet=7^8wKbqs8^Ibxt!?d+tYLAp8+SJ-_QT$_ z)9D}ROvf3g7hZIx1Dy_tPCuqI^`ckw=k%ubIh#Z_B+UT3XV3e-&-?Yf=kV9RPkse( z6kkNpgk}XH6=Adp?4QfWJbQ zvx06FTdN6dY7BfS5o}U2HaO zM$Z}6l%rWL!)EjXy)~Etv5z~XVi<=6LasK?RtyFUJUKI`XS~sJM+}=eJBDT&_aq~H z>$r+nWJsMXSpc~mM{rcZYbuUO!bGbB4k(g>89SdhJelH%iZ}44KsaOCE@Row;C(K* zx6SyNZCMP4S&b?fB~#W}a{6vYFGxunPT-`1w^Y21Q>@3jN_xTd^gMZP7d;lR1j~dj zl0hDMq-%M?j?rhp#-~@ZXqZ{ui6DvQR-B>6+JnEpT6?^cu%0!vr9sOt(6J} zOz0(zDFv5ROyf$Wkkz%|NET#eOj4+)UJBC+u8}OYV-z@M&Q?Z6o;3=tlZ_4a$-yxm z83J7?!_p^;c}|*t_6T&R?2KkkYh)jpSKbVHvxX}$oN9<#6$N?ITIra;K%LBL50hkU zT0k(YGHd)&zMvctLzb4OxVzSr-b~H)CVY9bmZO$P(x6Df2=vtneErNMaHqTB5bA4u z1hH#n3$nDnDp5Pqo|d_FK`Z!WRKQ4rgW{830jDG|VNWj`hl1Vdt}xI)UsHzbF@(0Xk>eR!bclDPM&Wqlx|}3HSH{#e z%Xd*GLnLh%os53QkTFK3gcn^^?+?q##$H_IO(yU@?@fhoUYC4+;NPN*pYQPC3d9l@ zP56*cdGUewUI?A|$Y1$NxPg!P#a!wFC>sH`5MXOv0A8teB8Y4R*g=43T>uR;C4i<8 zrW0XQ&z_>=+R$+CV|1;cClL~fut>B##*Rcd8eT=8K%ynuvWk5ISE4P^&?*L-H}CBp(qgB)xA`-KeY~{x(@%_E2ifHzq8@;b zgT#)};~*Yz?;+QVT>ruKpE&Gy<`P<|x0Cu=l8b#PvqY|R-1O=73^}eOr=DRJ1|#ai z3g&Q&{q4rjFp*~$d$0rxHmOmd<_&Z_XBiX)R~6jmuTapTV2{E$xlD*jKF0ZXGw|U) zCu`g4nJ94A&BQ;4b9?3%Ey_9Hn9Z vn-e4!`Bj>u62?e?!A)h1PkfzEY4h2OQ5fQ$^jQfgc5Ph4Zbx1=3g%(;qN+|~?R9FIWN>zz~5UHYa2+e)ttilF=RJK!ze+4Hb z4*URq6yojLBB6=egLh|kXWqPdJO2IW=Pv-S@T`Us$_^@ZtYKZ?)>K|dFObp1`#72^ zKNDC#(vi-N1~i6SS% zF)e@^<0L*`JgBDf!bS+VZhx-CAWL*K=`5dgTSKysWN5iAB?wdlnP#WY)cx8U6Tv+(KqXCEoCs`8RQ4taEH#SYw(`oeOb1?Hry1M1G0+ogJWGiAaw*_w zg*G8I4(uCsjtS8810|!y?rVd1miX$uHp=gqo6C>+!gPpzIGh<$-~c(?IX7H4>^PA> z_qFy9i0?E?sB<+V22@d@b(2;-4?+V?dVHFH0MD(@vw5 z7>EaW$d$he9`nvX99o|mif{CCC37(j7J4cb)b?!56Xxt+FG_0xV6Ns<3vuulGuyk| diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class index 05384f9eb923e6119691f2d70ef0d25633b74fe6..f5102f96dd884b7c0b3e27bee60eb051b8783bd2 100644 GIT binary patch literal 4896 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 literal 1036 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 delta 284 zcmYk0K~BOz7=^!S3$24fEU{7u7tnOT8P(OXHxW+J&4mgs(sriol zZOtDOD%GH=jXTdZQqVYi$80@ftZ5ZO_=q+WuY8Cp_i_is4-}42E?ciFx6l_6Qq8XB xDJMFa&IP>+kdgDqlXB0x31M2qNE6h)W^ILyFLbocXi#0VXik|@eg#-8gu{v From 9a3ab91b5cedf92f4a7cad579f612b6bb54da36c Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Wed, 24 Feb 2021 11:34:33 +0300 Subject: [PATCH 13/17] PPT_1.1.4 v.1.1 --- src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java | 1 - 1 file changed, 1 deletion(-) 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 50e3a65f..2999b761 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -15,7 +15,6 @@ public UserDaoJDBCImpl() { } - private static Connection connection; public void createUsersTable() { Connection connection = null; Statement stmt = null; From 72e2a9e2fde107aa7d707671836fbd4acf8d613a Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Wed, 24 Feb 2021 13:14:20 +0300 Subject: [PATCH 14/17] PPT_1.1.4 v.1.1 --- src/main/java/jm/task/core/jdbc/Main.java | 2 +- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 94 ++++++------------ .../java/jm/task/core/jdbc/util/Util.java | 4 +- target/classes/jm/task/core/jdbc/Main.class | Bin 790 -> 827 bytes .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 4896 -> 5530 bytes 5 files changed, 33 insertions(+), 67 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index 9fbc24d4..8971cfe4 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -21,7 +21,7 @@ public static void main(String[] args) { // System.out.println(u.toString()); // } // us.cleanUsersTable(); -// us.dropUsersTable(); + us.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 2999b761..7b8d2361 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -15,65 +15,48 @@ public UserDaoJDBCImpl() { } +// private static Connection connection; public void createUsersTable() { - Connection connection = null; - Statement stmt = null; - try { - if(connection == null){ - connection = Util.getDBConnection(); - } + try(Connection connection = Util.getDBConnection()) { + + Statement stmt = connection.createStatement(); - stmt = connection.createStatement(); String creatTable = "CREATE TABLE IF NOT EXISTS user_table" - + "(id LONG not NULL AUTO_INCREMENT PRIMARY KEY ," + + "(id INTEGER not NULL AUTO_INCREMENT PRIMARY KEY ," + "name VARCHAR(50)," + "lastName VARCHAR(50)," + "age INT(3))"; stmt.executeUpdate(creatTable); - - System.out.println("Таблица создана!!!"); + stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); - }finally { - try{connection.close();}catch (Exception ignored){} - try{stmt.close();}catch (Exception ignored){} } } public void dropUsersTable() { - Connection connection = null; - Statement stmt = null; - try{ - if(connection == null){ - connection = Util.getDBConnection(); - } - stmt = connection.createStatement(); + try(Connection connection = Util.getDBConnection()) { + + Statement stmt = connection.createStatement(); String dropTable = "DROP TABLE IF EXISTS user_table"; stmt.executeUpdate(dropTable); + stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); - }finally { - try{connection.close();}catch (Exception ignored){} - try{stmt.close();}catch (Exception ignored){} } } public void saveUser(String name, String lastName, byte age) { - Connection connection = null; - PreparedStatement stmt = null; User user = new User(); user.setName(name); user.setLastName(lastName); user.setAge(age); long id = -1; user.setId( id); - try { - if(connection == null){ - connection = Util.getDBConnection(); - } + try(Connection connection = Util.getDBConnection()) { + String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; - stmt = connection.prepareStatement(data); + PreparedStatement stmt = connection.prepareStatement(data); stmt.setString(1,user.getName()); stmt.setString(2,user.getLastName()); stmt.setInt(3,user.getAge()); @@ -83,77 +66,60 @@ public void saveUser(String name, String lastName, byte age) { if(rs.next()){ id = rs.getLong(1); } + + stmt.close(); +// Statement statement = connection.createStatement(); +// statement.executeQuery(""); +// user.setId(rs.getLong(1)); String add = new String("User с именем – " + user.getName() +" добавлен в базу данных"); System.out.println(add); } catch (SQLException throwables) { throwables.printStackTrace(); - }finally { - try{connection.close();}catch (Exception ignored){} - try{stmt.close();}catch (Exception ignored){} } user.setId( id); } public void removeUserById(long id) { - Connection connection = null; - Statement stmt = null; String SQL = ("DELETE FROM user_table WHERE ID = "+ id); - try { - if(connection == null){ - connection = Util.getDBConnection(); - } - stmt = connection.createStatement(); + try(Connection connection = Util.getDBConnection()) { + + Statement stmt = connection.createStatement(); stmt.executeUpdate(SQL); + stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); - }finally { - try{connection.close();}catch (Exception ignored){} - try{stmt.close();}catch (Exception ignored){} } } public List getAllUsers() { - Connection connection = null; - Statement stmt = null; String SQL = "SELECT * FROM user_table"; List list = new ArrayList<>(); - try{ - if(connection == null){ - connection = Util.getDBConnection(); - } - stmt = connection.createStatement(); + try(Connection connection = Util.getDBConnection()) { + + Statement stmt = connection.createStatement(); ResultSet resultSet = stmt.executeQuery(SQL); while (resultSet.next()){ list.add( new User(resultSet.getLong(1),resultSet.getString(2) ,resultSet.getString(3) ,(byte)resultSet.getInt(4))); } + stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); - }finally { - try{connection.close();}catch (Exception ignored){} - try{stmt.close();}catch (Exception ignored){} - try{stmt.close();}catch (Exception ignored){} } return list; } public void cleanUsersTable() { - Connection connection = null; - Statement stmt = null; String SQL = "DELETE FROM user_table"; - try { - if(connection == null){ - connection = Util.getDBConnection(); - } - stmt = connection.createStatement(); + try(Connection connection = Util.getDBConnection()) { + + Statement stmt = connection.createStatement(); stmt.executeUpdate(SQL); + } catch (SQLException throwables) { throwables.printStackTrace(); - }finally { - try{connection.close();}catch (Exception ignored){} - try{stmt.close();}catch (Exception ignored){} } } } 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 e4aa050b..6fd72cdc 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -22,7 +22,7 @@ private Util(){ public static Connection getDBConnection(){ try { - if(connection == null){ + if(connection == null || connection.isClosed()){ connection = DriverManager.getConnection(URL,USERNAME,PASSWORD); } } catch (SQLException throwables) { @@ -35,7 +35,7 @@ public static Connection getDBConnection(){ private static SessionFactory sessionFactory; public static SessionFactory getSessionFactory() { - if (sessionFactory == null) { + if (sessionFactory == null ) { try { Configuration configuration = new Configuration(); diff --git a/target/classes/jm/task/core/jdbc/Main.class b/target/classes/jm/task/core/jdbc/Main.class index 5afc3eab7b312c8c58db13a94bcdf9e2ddbe59d3..d09747d5191a5c7af7a5a931e9a16141b6d8fa2d 100644 GIT binary patch delta 224 zcmXAiNe)3#5Jk^>;rp6s6A=S_-#1glfE_R}B+Mj)RT%%U4?`ptU^g}(>XAxr>fY2n zb+I0n@AbJqfj-@G%$OO=|rmHmwC$Cx@NJzCUnq!m}mHHMLszG>S8WkMtg3ok;C cC?gU~Br*K>pFy35IGZ6&TJk~B7O&}i0eN^B`v3p{ delta 204 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 literal 4896 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 From 1f05837b85da2a901cdde03000561d8a1c4c0bba Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Wed, 24 Feb 2021 20:24:42 +0300 Subject: [PATCH 15/17] PPT_1.1.4 v.1.1 --- src/main/java/jm/task/core/jdbc/Main.java | 12 ++-- .../core/jdbc/dao/UserDaoHibernateImpl.java | 61 +++++++++++++++++- target/classes/jm/task/core/jdbc/Main.class | Bin 827 -> 1423 bytes .../core/jdbc/dao/UserDaoHibernateImpl.class | Bin 2832 -> 4946 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 3558 -> 3616 bytes 5 files changed, 65 insertions(+), 8 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index 8971cfe4..bb1af98a 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,5 +1,6 @@ package jm.task.core.jdbc; +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; @@ -16,11 +17,12 @@ public static void main(String[] args) { us.saveUser("Petr","Petrov",(byte)14); us.saveUser("Gleb","Zemnuhov",(byte)17); us.saveUser("Ivan","Petrov",(byte)34); -// System.out.println(); -// for (User u: us.getAllUsers()){ -// System.out.println(u.toString()); -// } -// us.cleanUsersTable(); + us.removeUserById(3L); + + for (User u: us.getAllUsers()){ + System.out.println(u); + } + us.cleanUsersTable(); us.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 7aa132ad..13db2c8e 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -35,28 +35,83 @@ public void saveUser(String name, String lastName, byte age) { session.beginTransaction(); session.save(user); session.getTransaction().commit(); + String addUser = new String("User с именем – " + user.getName() +" добавлен в базу данных"); + System.out.println(addUser); }catch (Exception e){ System.out.println("Ошибка saveUser: " + e); }finally { try{session.close();}catch (Exception ignored){}; - try{sessionFactory.getCurrentSession().close();}catch (Exception ignored){}; - } + try{ + sessionFactory.getCurrentSession().close(); + }catch (Exception ignored){}; + } } @Override public void removeUserById(long id) { + SessionFactory sessionFactory = null; + Session session = null; + try { + sessionFactory = Util.getSessionFactory(); + session = sessionFactory.getCurrentSession(); + session.beginTransaction(); + User user = (User) session.load(User.class, id); + session.delete(user); + session.getTransaction().commit(); + }catch (Exception e){ + System.out.println("Ошибка в removeUserById: "+e); + }finally { + try{session.close();}catch (Exception ignored){}; + try{ + sessionFactory.getCurrentSession().close(); + }catch (Exception ignored){}; + } } @Override public List getAllUsers() { - return null; + SessionFactory sessionFactory = null; + Session session = null; + List list = null; + try { + sessionFactory = Util.getSessionFactory(); + session = sessionFactory.getCurrentSession(); + session.beginTransaction(); + list = session.createQuery("from User").list(); + session.getTransaction().commit(); + + }catch (Exception e){ + System.out.println("Ошибка в removeUserById: "+e); + }finally { + try{session.close();}catch (Exception ignored){}; + try{ + sessionFactory.getCurrentSession().close(); + }catch (Exception ignored){}; + } + return list; } @Override public void cleanUsersTable() { + SessionFactory sessionFactory = null; + Session session = null; + try { + sessionFactory = Util.getSessionFactory(); + session = sessionFactory.getCurrentSession(); + session.beginTransaction(); + session.createQuery("delete from User").executeUpdate(); + session.getTransaction().commit(); + }catch (Exception e){ + System.out.println("Ошибка в removeUserById: "+e); + }finally { + try{session.close();}catch (Exception ignored){}; + try{ + sessionFactory.getCurrentSession().close(); + }catch (Exception ignored){}; + } } } diff --git a/target/classes/jm/task/core/jdbc/Main.class b/target/classes/jm/task/core/jdbc/Main.class index d09747d5191a5c7af7a5a931e9a16141b6d8fa2d..7af42dce289da2d350dc905e035b4fc967db43f0 100644 GIT binary patch delta 830 zcmZ{iTTc^V5Qd+x1s3R1kfR#n3B{I!i>P?0a#Rs41uX|f)GTGemLAA+$8ZR`}#CYwm@X8-yqBy$^Q7+s~X6BoD=bd-H-On|z1NGm2fBFJk;OTC?p^DWK zyN^FWfKxhMoK^&FE0f!{7V?%ozB9F^s0vMo7hOcR&RIf=z=q|FrPD4VuV@a1qbYOS zGzv~KZA6oKCla8CUX4DTe$ENw!Lp(@=~%Yu6mzzs{XqMaSIF5yF~E6^L0!aNlp%j9 z_8|)GnVFAS&mDz76kc{ahIB4-MI>jvbn8BM+RSbkv#Tj9;Y2j9DLPXb!zr5iO(T)B zEhDwInlLiCH7jknTh(!$8ydqpBaAAVyx|^4d?)W%85x)>$k?{Z;>nybXD72x+_5b) z6RBsM35}aNx45ln@wyLUMEjPV9L+lEtgwVCH2;dMT=*TGDQXmriL_;Az5AXwSJRgJ zG4AR_OJk}{#Y#)+RhKF#jz!(A{xhuPu?+k$vOCljvL6GF0%#v)4+i83DWP<$-~mU$$)SL77L_lvkj PKx5#iv??A;*2j}SdIGY9 delta 279 zcmYL@yG{aO5QV>AVA)#`EsUY?f_G3*N$j*zE3DK+%T>3)5HU-z^#Lp>Hpb_mB8u?= zd?>^Dp)ix2$(hSH(+@_D|NHm#12i}o_;s@s5U>)mieo4|B%SB$Zk%+lqPupSXDtmg zZ|QfY`RZSGddYo!-fG7N?;>hF)gGglNPA^wghOh`;Yioz>dHnrR~cdkllF$xw!vjn z8cqk;Vq4B*hl(n8`JLOK~YEW+_n=caB5mIbo4g YRqUOGDT^w*axTa0QPU-(C+*w&V^1w4#Q*>R diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class index 4c58170bb4d2d394b50352127e0ba50d30e918ce..07d76cdd578fb5c0e9480064d77c7bc834061b6b 100644 GIT binary patch literal 4946 zcmai&Yj9J?703T8OTMx#^Ds}507@Ic#&(nkg&+Y18wd~C;Fy>?7}9I$+Ln=YZ9M=d zB@Ia^X($aTEq%~BX-i|8Gz~B*#^I5c51nZ{!-#L4>7+C5v|lpQ=}h_5FHQgF>dKa6 zK?X~E@7djR&Yttzvn&4izmIMLcmf|(!+{D7P7hqDR9H3`_owyLL4Vjx8vemZZ`dEv zP5(0~Be_{OcWiEH-5wu`DO9eDCZg#L3KjJYU82M7L6s<&6;2v@+K>sUJ$i4He6W==Zmbqzwh_kRHnz zyZRL7)VDN*io1i=sKtC)*aC$$^##41>0~s~AH1(b3z0IVf zbe3NVv-^#7r;$oU&BRtcoHmmq3cmV=keTfF4@7&7WP+jb7mo`Cg06y2ux3X7-dEahoAHSdE>6dx)7X=V@0J+ObQ+ZVx)}baB*1QfVX3?QCY!oSpNKdE3p6lBRk? zk8?eH@Qj8o5B7?QIo2wQ$8e!TG9#7{^13~E7W))j;h34?(ih~Ho*It%Tg^m*j1ab< zhW&YU*52N7By0>xj~mZ%R(ABxYs}B3>_^#)K7mb=7O*m;ONM$&5>pJHrLiC!Nj*Y}as{J7Id2EjWd?3hDV zp^Mu^k3=M2;>xtDprC|`f{w|ZL4(eORZrXm&n_($dOydj7WQQ&wDaYVVj z)DEJ{vbiZ1lL#>*vvQG`LQG+PaRNt%@=1KOWbC^8hhhVZ&@c0)VA240RA;oGhju1O zZy%q=_~$AmbK#hwC#(h7cvW|rnPk}58kGoG2M}*oMKnDkB;X;u%Bz#YH+WIg*z$hH z@7Jtr8>7S4wQ?Nl5+5A+CcovT1zxnAn1R==Cu3KJJEy?$GM7_LukKz$ZFghS;;WcBj(Gv63b<6D@+uYvTwd1%mM8=& zy_FMqSYfZX((9bSN{2j6;1PuhJf?6BtGln^$?kCk>Vj9W-s`-AO>FD7@aqbm8pn=+ zb{TD6?Fu?&;#a6@46cA?8^}ur1KJo2YiwTM0nx{KU!|VUncXC_R|MRJ7OF}txB^vP z_s5sG@B}OK2zu}W^Ldi(JW5Wp{S`jMINJ&Q9)Gaqw;86>?2$H$KjSZye}Yf(FSfTS z5qX6LKp(>nEXGVMK^3d@T3hRF{M6>rOGn%^dP}vdfRp^S zH|OYc3Ud~H&br#AR}r4TKm~q_S_0~n{Kg!RA$c6-IZv1?rz0;I2)M=&4!8(o9ug6U5qS=;16aW4)r{O4YFtYI0+@{;p<72t)?*bm&`v9@ZlT?+ zIDn_9c_YGv?kMH2Q+}56bCi$r{e8Yq@cky=e@Bl6s|`$kBS8=}T%4K1%Eg{rlUUut z&+v2R&A~JXI29au!ve=?fzu}7?1YmP@H53rdm%6Oi^WT2!N^HWWPpvydAjeA%Ila* zW5W0)6;f@got%UkEl%2+a+EaHB`1(}a9u|f+9}L)!N)un&fJu|pfBJYgC1~}V!=9Q z*PVOMT`6;y1zZIqDvPzdh>Yvw=8G&kkMT!CkXc>N-wh$Qm6UX_jU$c2Y)5Q5M1G2k z>|l?yZ`ib)!x-M>xKosf+-Vh^92Fr3sEv|#YTZp+9VFvvEJP>E%^vFOrqzA4+rtt2 z+1tgQz0}`LtNUnInA}gT-OS@Y+L2PYA0Ln*p<)#?+-bAmWsdBRBx3TT#X)(+;i5GFqmLKQZ+SnuQ2_EZjQho++aclNa zcEXb9%Eq&p&oN;}C_;^LX7scA4^SHAnKVcnCM^!rW)eG)qShE8iF1@m$uMmu`Ewyf zjV3J&(?$~K`94N$1&);#c3$iJso?vCNjTn_gyXyohXAls09Y&k>18L?%049Ft^9=f V$-l5V)W9`0aC+($xs&Ao`u{ZptiS*O delta 1151 zcmaJ=Nl#Nz7(KUr?R|X|HI%8wXbcK6M50E~hp1E(2L=HZ5ETmog0&!2oUJ<(;zDy* zCTc=hU^Fq*m=c^dk%dMV?p*mh+=%DB0@m7?wD%kC_nrF<=Y1=@lWTnX_2LbHO}H5| z-aCv8tVM+vTd_@rv^Anq-PLk4J*dJCiJe~TLbcMg4Q`3u0(q+5nWq~Fz^P-edaSL` z1K8)qejHF`&Pp0}mQk<1Y8%Y}8ofA#CILM%*b*7;5BCXVuPd$_2#yBJL&0!gdBR(1 zpaq8|j(BkttpYx^TJsqKa)>#RP+0wN<~t?Y)dP3A=ultWuhb)1pp?u}pXEf}u)wlZ zNQsCV)N56f+oy^=(P$eS5IDxRC8Y~)p2zJW2x@?86b07RD%V;~wtM`^Q;+H*YLCfhTxM{}f*19pyMZ zmfvY_rWx7ldqzRDn7Ad}Mk(_OIo~2?7ZbAt59u4HK1KZl^^aI@53m_JQsg!7w zIM1Ju$dp(m`C(BtMI()F|OJ%*O+sCk+Y>%8P=o! QR8f_Luuz4-4I3l+8?tJy>;M1& diff --git a/target/classes/jm/task/core/jdbc/util/Util.class b/target/classes/jm/task/core/jdbc/util/Util.class index e043dda0ea3eb99ff541d1ed5169f3fdabb73dfe..4671708f8bff93f5c5f2d9a80b57d6b72197ce45 100644 GIT binary patch delta 1346 zcmYjQTT@$A7+pK(B5J)f5ytrlYuOo5;gHxO?bK1+`!$t+0IBrFg zILA8W76zB-Gr3eNnjxuZ6@M_l+KhIN06IjyX$O(p46;>(O##6*#ERl^GMFRAlvwd5 z&MA0{<85eSK@AkHstu;x65avBc^W+v95f~G-o%~6-@A#sU^Ti4RJx7F>5iFhnPDM? z_lv{J2+^s36>Noo2^Z*Vr5z+L!-)?F@sblh#7D>hW%wAM{I4J&6^*@lC_kc{zH6{E zinu~^Xim*_1vLdI%kU27(YTK0(N%2L{5slbZPC%GV>{isT-5NQ0rjM3giuQ{0yXqE z)f#^QSv+VY)RiNbYcVyF!>3p#$Iob$L9VjxR8U_-@FG4hMaa5IQ6lqV9z8$d#5(#Z zhJnF#1Zm&3w^iGt4eA&gY1Qu693}9e<}87SHCG9YXrm?Y*r@hI2_4WvB@oeK2JpA) zI5^_hp3yNmvW^s~XDG?6j%Rf|Kjd%I@nQiz%TNdD_!WxA$l8MAn8U1*wYbPfaz<)? zDttL+@CCjkwt+_TD_kPqqfqfRE>m;n$zuh1vX&Az{f#*Vvoa-KxZd1d#V!KgJm!~B zRZQQuj#Cua>8r%naE6h}wWgOFRXT_vRAZQmy{{-u&8?Sd z$%r~eqq^W)OGZqf8MmvSU8}uo(PCnqz@4~D-Eg%T8wBpgMzuv-r?)Xwt6$vJ+=EtV zChk$wTF7X3;8wM$)w1pCSFN7yR7HB2w_}&UeYju6^ljCh48i_^UMrJ|XRTNwol02= zr|j5hCdsi|o!4vGgY*rm>$)fS5JO-&x^Ez!q-c)4>My;aZXbhOc8>I?#}3mlI3A&) zWiz7|#{sp$-RL{WU}XCn*HT7lELrxRD0txh~OYYt53H7(T zhPR?$U;sx|*yz%ej2aJ^8~q*(LUZEN0z(*9^F|XN#E3u^qv}timy9ui<9JH#Gq)4R z34v#DQe8BAH{}>g^NJ-b_4U6@lXgffsQ` zZQ)gHTpi-!;f~x0^${EN zG}*X=!Y}79O3D!;5+`p36$Y{lLJ}*d2K-z(=@9fgjV$p~rTIPXEoFQMpa-uyJosRCY*T0dz@!0X!fB1+YhU z7r?`^rvUcLNA0fswa4UP=O_}j5$}me%f^wO1q>4Vlhk0!M#jdmu1KSer{}PK2E2og zpQUP?rVY|!oK}RIR= Date: Tue, 2 Mar 2021 12:24:16 +0300 Subject: [PATCH 16/17] =?UTF-8?q?=D0=92=D1=81=D1=91=20=D0=BA=D1=80=D0=BE?= =?UTF-8?q?=D0=BC=D0=B5=20rollback()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/jm/task/core/jdbc/Main.java | 3 +- .../core/jdbc/dao/UserDaoHibernateImpl.java | 72 ++++++++++++------ .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 40 ++-------- .../core/jdbc/service/UserServiceImpl.java | 16 ++-- .../java/jm/task/core/jdbc/util/Util.java | 2 +- target/classes/jm/task/core/jdbc/Main.class | Bin 1423 -> 1423 bytes .../core/jdbc/dao/UserDaoHibernateImpl.class | Bin 4946 -> 6007 bytes .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 5530 -> 4830 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 1181 -> 1345 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 3616 -> 3611 bytes 10 files changed, 69 insertions(+), 64 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index bb1af98a..9030f9d8 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -9,7 +9,6 @@ public class Main { public static void main(String[] args) { - // реализуйте алгоритм здесь UserService us = new UserServiceImpl(); us.createUsersTable(); @@ -18,7 +17,7 @@ public static void main(String[] args) { us.saveUser("Gleb","Zemnuhov",(byte)17); us.saveUser("Ivan","Petrov",(byte)34); us.removeUserById(3L); - +// for (User u: us.getAllUsers()){ System.out.println(u); } 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 13db2c8e..93a413c4 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -8,7 +8,8 @@ import org.hibernate.SessionFactory; public class UserDaoHibernateImpl extends UserDaoJDBCImpl implements UserDao { - + private SessionFactory sessionFactory = null; + private Session session = null; public UserDaoHibernateImpl() { } @@ -16,26 +17,58 @@ public UserDaoHibernateImpl() { @Override public void createUsersTable() { - super.createUsersTable(); + try { + String creatTable = "CREATE TABLE IF NOT EXISTS user_table" + + "(id INTEGER not NULL AUTO_INCREMENT PRIMARY KEY ," + + "name VARCHAR(50)," + + "lastName VARCHAR(50)," + + "age INT(3))"; + sessionFactory = Util.getSessionFactory(); + session = sessionFactory.openSession(); +// session.beginTransaction(); + session.createSQLQuery(creatTable) + .executeUpdate(); + }catch (Exception e){ + System.out.println("Ошибка creatTable: " + e); + }finally { + try{session.close();}catch (Exception ignored){}; + try{ + sessionFactory.getCurrentSession().close(); + + }catch (Exception ignored){}; + } + } @Override public void dropUsersTable() { - super.dropUsersTable(); + try { + sessionFactory = Util.getSessionFactory(); + session = sessionFactory.openSession(); + session.beginTransaction(); + session.createSQLQuery("drop table user_table") + .executeUpdate(); + }catch (Exception e){ + System.out.println("Ошибка dropTable: " + e); + }finally { + try{session.close();}catch (Exception ignored){}; + try{ + sessionFactory.getCurrentSession().close(); + + }catch (Exception ignored){}; + } } @Override public void saveUser(String name, String lastName, byte age) { - User user = new User(name,lastName,age); - SessionFactory sessionFactory = null; - Session session = null; +// User user = new User(name,lastName,age); try{ sessionFactory = Util.getSessionFactory(); - session = sessionFactory.getCurrentSession(); + session = sessionFactory.openSession(); session.beginTransaction(); - session.save(user); + session.save(new User(name,lastName,age)); session.getTransaction().commit(); - String addUser = new String("User с именем – " + user.getName() +" добавлен в базу данных"); + String addUser = new String("User с именем – " + name +" добавлен в базу данных"); System.out.println(addUser); }catch (Exception e){ System.out.println("Ошибка saveUser: " + e); @@ -51,11 +84,9 @@ public void saveUser(String name, String lastName, byte age) { @Override public void removeUserById(long id) { - SessionFactory sessionFactory = null; - Session session = null; try { sessionFactory = Util.getSessionFactory(); - session = sessionFactory.getCurrentSession(); + session = sessionFactory.openSession(); session.beginTransaction(); User user = (User) session.load(User.class, id); session.delete(user); @@ -73,18 +104,16 @@ public void removeUserById(long id) { @Override public List getAllUsers() { - SessionFactory sessionFactory = null; - Session session = null; List list = null; try { sessionFactory = Util.getSessionFactory(); - session = sessionFactory.getCurrentSession(); + session = sessionFactory.openSession(); session.beginTransaction(); list = session.createQuery("from User").list(); session.getTransaction().commit(); }catch (Exception e){ - System.out.println("Ошибка в removeUserById: "+e); + System.out.println("Ошибка в getAllUsers: "+e); }finally { try{session.close();}catch (Exception ignored){}; try{ @@ -96,8 +125,6 @@ public List getAllUsers() { @Override public void cleanUsersTable() { - SessionFactory sessionFactory = null; - Session session = null; try { sessionFactory = Util.getSessionFactory(); session = sessionFactory.getCurrentSession(); @@ -106,12 +133,13 @@ public void cleanUsersTable() { session.getTransaction().commit(); }catch (Exception e){ - System.out.println("Ошибка в removeUserById: "+e); + System.out.println("Ошибка в cleanUsersTable: "+e); }finally { - try{session.close();}catch (Exception ignored){}; - try{ + try{session.close(); sessionFactory.getCurrentSession().close(); - }catch (Exception ignored){}; + }catch (Exception ignored){ + + }; } } } 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 7b8d2361..45794de6 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -14,8 +14,6 @@ public class UserDaoJDBCImpl implements UserDao { public UserDaoJDBCImpl() { } - -// private static Connection connection; public void createUsersTable() { try(Connection connection = Util.getDBConnection()) { @@ -35,10 +33,8 @@ public void createUsersTable() { public void dropUsersTable() { try(Connection connection = Util.getDBConnection()) { - Statement stmt = connection.createStatement(); - String dropTable = "DROP TABLE IF EXISTS user_table"; - stmt.executeUpdate(dropTable); + stmt.executeUpdate("DROP TABLE IF EXISTS user_table"); stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); @@ -47,45 +43,27 @@ public void dropUsersTable() { } public void saveUser(String name, String lastName, byte age) { - User user = new User(); - user.setName(name); - user.setLastName(lastName); - user.setAge(age); - long id = -1; - user.setId( id); try(Connection connection = Util.getDBConnection()) { String data = "INSERT INTO user_table(name,lastName,age) VALUES (?,?,?)"; PreparedStatement stmt = connection.prepareStatement(data); - stmt.setString(1,user.getName()); - stmt.setString(2,user.getLastName()); - stmt.setInt(3,user.getAge()); + stmt.setString(1,name); + stmt.setString(2,lastName); + stmt.setInt(3,age); stmt.executeUpdate(); - - ResultSet rs = stmt.executeQuery("SELECT LAST_INSERT_ID()"); - if(rs.next()){ - id = rs.getLong(1); - } - stmt.close(); -// Statement statement = connection.createStatement(); -// statement.executeQuery(""); -// user.setId(rs.getLong(1)); - String add = new String("User с именем – " + user.getName() +" добавлен в базу данных"); - System.out.println(add); + System.out.println("User с именем – " + name +" добавлен в базу данных"); } catch (SQLException throwables) { throwables.printStackTrace(); } - user.setId( id); } public void removeUserById(long id) { - String SQL = ("DELETE FROM user_table WHERE ID = "+ id); try(Connection connection = Util.getDBConnection()) { Statement stmt = connection.createStatement(); - stmt.executeUpdate(SQL); + stmt.executeUpdate("DELETE FROM user_table WHERE ID = "+ id); stmt.close(); } catch (SQLException throwables) { throwables.printStackTrace(); @@ -93,12 +71,11 @@ public void removeUserById(long id) { } public List getAllUsers() { - String SQL = "SELECT * FROM user_table"; List list = new ArrayList<>(); try(Connection connection = Util.getDBConnection()) { Statement stmt = connection.createStatement(); - ResultSet resultSet = stmt.executeQuery(SQL); + ResultSet resultSet = stmt.executeQuery("SELECT * FROM user_table"); while (resultSet.next()){ list.add( new User(resultSet.getLong(1),resultSet.getString(2) ,resultSet.getString(3) @@ -112,11 +89,10 @@ public List getAllUsers() { } public void cleanUsersTable() { - String SQL = "DELETE FROM user_table"; try(Connection connection = Util.getDBConnection()) { Statement stmt = connection.createStatement(); - stmt.executeUpdate(SQL); + stmt.executeUpdate("DELETE FROM user_table"); } catch (SQLException throwables) { throwables.printStackTrace(); 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 3e8baf63..12caaccb 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -1,33 +1,35 @@ package jm.task.core.jdbc.service; +import jm.task.core.jdbc.dao.UserDao; import jm.task.core.jdbc.dao.UserDaoHibernateImpl; import jm.task.core.jdbc.dao.UserDaoJDBCImpl; import jm.task.core.jdbc.model.User; import java.util.List; -public class UserServiceImpl extends UserDaoHibernateImpl implements UserService { +public class UserServiceImpl implements UserService { + UserDao ud = new UserDaoHibernateImpl(); public void createUsersTable() { - super.createUsersTable(); + ud.createUsersTable(); } public void dropUsersTable() { - super.dropUsersTable(); + ud.dropUsersTable(); } public void saveUser(String name, String lastName, byte age) { - super.saveUser(name,lastName,age); + ud.saveUser(name,lastName,age); } public void removeUserById(long id) { - super.removeUserById(id); + ud.removeUserById(id); } public List getAllUsers() { - return super.getAllUsers(); + return ud.getAllUsers(); } public void cleanUsersTable() { - super.cleanUsersTable(); + ud.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 6fd72cdc..4e1619ed 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -51,7 +51,7 @@ public static SessionFactory getSessionFactory() { settings.put(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread"); - settings.put(Environment.HBM2DDL_AUTO, "create-drop"); + settings.put(Environment.HBM2DDL_AUTO, "create"); // create-drop configuration.setProperties(settings); diff --git a/target/classes/jm/task/core/jdbc/Main.class b/target/classes/jm/task/core/jdbc/Main.class index 7af42dce289da2d350dc905e035b4fc967db43f0..e16e55d976045c628989e806f2ae89164bf0f2f5 100644 GIT binary patch delta 61 zcmeC@?&sbh#cIgIz`?)=g!~Lr3<3;l41x?s3_=Wc48jcV45AEa3}Otq4B`w03=#}w O43Z2r4APUmSzQ3()(4va delta 61 zcmeC@?&sbh#cIgQz`?-Jz{eoKAjKfapvEA?V8kHIV8{!yq%+o7DvX<4*^u diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class index 07d76cdd578fb5c0e9480064d77c7bc834061b6b..f39fb6cb453ea452ed6358125fc248868ec6612f 100644 GIT binary patch literal 6007 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 H7k>92?$YlE literal 4946 zcmai&Yj9J?703T8OTMx#^Ds}507@Ic#&(nkg&+Y18wd~C;Fy>?7}9I$+Ln=YZ9M=d zB@Ia^X($aTEq%~BX-i|8Gz~B*#^I5c51nZ{!-#L4>7+C5v|lpQ=}h_5FHQgF>dKa6 zK?X~E@7djR&Yttzvn&4izmIMLcmf|(!+{D7P7hqDR9H3`_owyLL4Vjx8vemZZ`dEv zP5(0~Be_{OcWiEH-5wu`DO9eDCZg#L3KjJYU82M7L6s<&6;2v@+K>sUJ$i4He6W==Zmbqzwh_kRHnz zyZRL7)VDN*io1i=sKtC)*aC$$^##41>0~s~AH1(b3z0IVf zbe3NVv-^#7r;$oU&BRtcoHmmq3cmV=keTfF4@7&7WP+jb7mo`Cg06y2ux3X7-dEahoAHSdE>6dx)7X=V@0J+ObQ+ZVx)}baB*1QfVX3?QCY!oSpNKdE3p6lBRk? zk8?eH@Qj8o5B7?QIo2wQ$8e!TG9#7{^13~E7W))j;h34?(ih~Ho*It%Tg^m*j1ab< zhW&YU*52N7By0>xj~mZ%R(ABxYs}B3>_^#)K7mb=7O*m;ONM$&5>pJHrLiC!Nj*Y}as{J7Id2EjWd?3hDV zp^Mu^k3=M2;>xtDprC|`f{w|ZL4(eORZrXm&n_($dOydj7WQQ&wDaYVVj z)DEJ{vbiZ1lL#>*vvQG`LQG+PaRNt%@=1KOWbC^8hhhVZ&@c0)VA240RA;oGhju1O zZy%q=_~$AmbK#hwC#(h7cvW|rnPk}58kGoG2M}*oMKnDkB;X;u%Bz#YH+WIg*z$hH z@7Jtr8>7S4wQ?Nl5+5A+CcovT1zxnAn1R==Cu3KJJEy?$GM7_LukKz$ZFghS;;WcBj(Gv63b<6D@+uYvTwd1%mM8=& zy_FMqSYfZX((9bSN{2j6;1PuhJf?6BtGln^$?kCk>Vj9W-s`-AO>FD7@aqbm8pn=+ zb{TD6?Fu?&;#a6@46cA?8^}ur1KJo2YiwTM0nx{KU!|VUncXC_R|MRJ7OF}txB^vP z_s5sG@B}OK2zu}W^Ldi(JW5Wp{S`jMINJ&Q9)Gaqw;86>?2$H$KjSZye}Yf(FSfTS z5qX6LKp(>nEXGVMK^3d@T3hRF{M6>rOGn%^dP}vdfRp^S zH|OYc3Ud~H&br#AR}r4TKm~q_S_0~n{Kg!RA$c6-IZv1?rz0;I2)M=&4!8(o9ug6U5qS=;16aW4)r{O4YFtYI0+@{;p<72t)?*bm&`v9@ZlT?+ zIDn_9c_YGv?kMH2Q+}56bCi$r{e8Yq@cky=e@Bl6s|`$kBS8=}T%4K1%Eg{rlUUut z&+v2R&A~JXI29au!ve=?fzu}7?1YmP@H53rdm%6Oi^WT2!N^HWWPpvydAjeA%Ila* zW5W0)6;f@got%UkEl%2+a+EaHB`1(}a9u|f+9}L)!N)un&fJu|pfBJYgC1~}V!=9Q z*PVOMT`6;y1zZIqDvPzdh>Yvw=8G&kkMT!CkXc>N-wh$Qm6UX_jU$c2Y)5Q5M1G2k z>|l?yZ`ib)!x-M>xKosf+-Vh^92Fr3sEv|#YTZp+9VFvvEJP>E%^vFOrqzA4+rtt2 z+1tgQz0}`LtNUnInA}gT-OS@Y+L2PYA0Ln*p<)#?+-bAmWsdBRBx3TT#X)(+;i5GFqmLKQZ+SnuQ2_EZjQho++aclNa zcEXb9%Eq&p&oN;}C_;^LX7scA4^SHAnKVcnCM^!rW)eG)qShE8iF1@m$uMmu`Ewyf zjV3J&(?$~K`94N$1&);#c3$iJso?vCNjTn_gyXyohXAls09Y&k>18L?%049Ft^9=f V$-l5V)W9`0aC+($xs&Ao`u{ZptiS*O diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class index ea0401c1f952420e987b1c3fe915b9cef2a61d8a..edfdc8306955c37f7719d47a4927ee47b3bcd932 100644 GIT binary patch delta 2348 zcmZ{l>swS+6vp2(bLO03=0FGp3_>6|$Q|*9a=*w3$VIuTkvi%~AVR``k>*%d-c8-w z#je`Lv`okXMoP1f{SD=Z{)YPC)ALC0J~Lp{)5F8ro4wawd#~Sm*WyafL$~9X$9L}m zSc#t}9Q_un9eHBhTA>vfSdK#Rr_~efF77G z9|Pj1EuBHV$a};?M{neE!D4fgS~FW_?zJ1EV;o<0S)Qcv(S|`ILU| zKuyCeK>01RlG**bZTOkKI&px`nks&lkKNtN08j7U4sD#M`3y^D#bwl|D*v71wx64d#KoXYmS-Dt& z)f|B`RKm>%$bhnm0C<*Xm-3NrhLr(nzl>{Tyt|UKDrBM-Ic6}~v~=RBa4;&?g+r+N zM+lyUAtcVyM>vN6gfMs=Uovi{NV&`>>3ob}2*qklZn4d!x@ElXC5W|hC5Tc5U2?2Y@GUB5;MqEbx|sS&Y|Px(>AuW2ow^@3TAXA!K^|75f-trmGj$;we*sY6KrXxIX_Dn7g1_r zYK5I=+i-)Kw$Vc!f!$=XY&eFi0VZ9gxy?+v%$f)jle4dQL@HI_YtE!R1#aOR!jY0F z1tqZ$Hd7L}b=+2{j4;(`u;8eaxn-)w+_67`g~jETwJg@(|WTTf$GuTPF>}n*3CTfeN)0`KxI|v_zM<7A;Dtu{4 z&I|^Nx4Kj=9I#*-BQBNdJY<1OrSi;C48t<0kHH=1wa)ZX$?w`stvj zjXd8)4;?tior~CFaxG_aV`(efj+GwjFonQ0FEMb$L~NmX2(c8|r7&VU&LD`pBsIfT z*$+c2KZKb#!9GiGApxE-A;;_de}lhJHOmetdy@{iF<TxfElbjusT&r%t=gf@Y1@Q w6}y{OUJ7OxrMSn06l!M?^X+V9xSf@R$;d*iT-eTL=`8O5+L`{78P0>h0rPj7X8-^I literal 5530 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 diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class index d1e875f8755c9aa3599b2c014949b10572b77bbc..bedfb6bd677220f2dd64174e4feb083493ed00ba 100644 GIT binary patch literal 1345 zcmaJ>T~8B16g|^cmbP0yDxjbhLD9A#tN4W}ArXub(%?gtgvaT2Q@3urWVM;Xt|Hm$N7A9gY`_ug~vJ@?N3`u+VUfX8@|LkejF85379Au!XCXVUUyuWh|; zb{sntnAmZ9Zn!IuE?15XObS#xT`QFRkCyERj@4;3ZL1}H>wVt|UP=Fr+jN4S44s4S zsh5L+bQXD-1_~yoFfCAthcoibwH*!7i1sR4AT?+SEZ5@^e-YO5m_^aRRTFcnhSGn% zS)&~|Oi!iTeTb_D8g$t)tprKyzAe3D8MsQB;bkWL;PwU9 z6Z(*Vt~ysEMNf7~QH<+CDLvT_kF-54+w>B9?6pfx#Gyd8;kG$IgMfyumCd3OX^(19|X4Z+VzMqrzC2OhiX%G4lA6=6a?<`gPKdO2KRggTq`{7BCTyR)pLmI z4;Uxs$bLia3vDS>xvICL)(o-MxicewY~TS;WFBE{^Q3rk)vw51U`F6FNBF-FOa zP&k&1RT*7EnUAB)5~Y}k!U-OtoG{-E(F!V;^^MX6u4iKD%(IvU4OESshv_g3o3L~- z1w7saU(*u;3H2^$Q`JZ3 rk%qSgKJzx}gi;77B~<=Y`#htakA`c4j(6iau29F-1T=x?8gKg#V$%Gg literal 1181 zcma)*T~8BH5Qg8=mbTCpuppp_tsiJxkTr5yLSi*WNW)Em`@{C6p1L1ociY5&rB@_g z_yhb=#`o+tu(rM6X3xjWJTvp2**|}O{RVJ|cT312UqZpc0*V5yp=ZZ3`er*psO(|? z%CY-0urDGNev-i#eWgNQ#_Ghob_I$@+Sl>1K)%tuG@!DDMMGJ2LPakV6`ji~R~ci) zf@O@${V=%x-?VID1*-z(NRE>zfkvY{lw)bT(jVBpIMn{2J$uth^HwdaVV&quc|l6( zd_U<66dI?g$A*PXYzb5bD*oWQNqT{5qnR>Cv3BjQj^ehd^ofOSQ|XH1D(T;qTEdP% zb50ZiE8zCo`h4`zE z1opc3qMKscOyNt9DXOzFQh8TK@mXTe%K^PaMRbTlc>*}6 zPl2FvYj1z&1`nngYixHtVYE`eNf(U3E?$#jc5k>dC701a6M5cp;wKr7dCt>TY}Ib? zaGJkKDYp{-MnWjw@{4F;j|^e{4ch8tWW|2;gBMw`x97CFpZL5bg#XN>psZ$(r|YS) N%laIUz(Int{{a^w)3X2o diff --git a/target/classes/jm/task/core/jdbc/util/Util.class b/target/classes/jm/task/core/jdbc/util/Util.class index 4671708f8bff93f5c5f2d9a80b57d6b72197ce45..4b83081d0676d9bb9021c58471ed089c178e0193 100644 GIT binary patch delta 20 bcmZ1=Gh1duKPx+1a#3nxN$Td=tgRdXOOyv0 delta 25 gcmbO&vp{A;KPwM+a#3nxNvdv2QGUVZX{@ar0Cd3#00000 From 8ceceac3f7cd7a18ea7f5e99e3d33a3f489ab28b Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Tue, 2 Mar 2021 12:29:04 +0300 Subject: [PATCH 17/17] rollback() --- .../core/jdbc/dao/UserDaoHibernateImpl.java | 41 +++++++++--------- .../core/jdbc/dao/UserDaoHibernateImpl.class | Bin 6007 -> 5952 bytes 2 files changed, 21 insertions(+), 20 deletions(-) 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 93a413c4..e7a1e240 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -30,12 +30,12 @@ public void createUsersTable() { .executeUpdate(); }catch (Exception e){ System.out.println("Ошибка creatTable: " + e); + session.getTransaction().rollback(); }finally { - try{session.close();}catch (Exception ignored){}; - try{ + try{session.close(); sessionFactory.getCurrentSession().close(); - - }catch (Exception ignored){}; + }catch (Exception ignored){ + }; } } @@ -50,18 +50,17 @@ public void dropUsersTable() { .executeUpdate(); }catch (Exception e){ System.out.println("Ошибка dropTable: " + e); + session.getTransaction().rollback(); }finally { - try{session.close();}catch (Exception ignored){}; - try{ + try{session.close(); sessionFactory.getCurrentSession().close(); - - }catch (Exception ignored){}; + }catch (Exception ignored){ + }; } } @Override public void saveUser(String name, String lastName, byte age) { -// User user = new User(name,lastName,age); try{ sessionFactory = Util.getSessionFactory(); session = sessionFactory.openSession(); @@ -72,12 +71,12 @@ public void saveUser(String name, String lastName, byte age) { System.out.println(addUser); }catch (Exception e){ System.out.println("Ошибка saveUser: " + e); + session.getTransaction().rollback(); }finally { - try{session.close();}catch (Exception ignored){}; - try{ + try{session.close(); sessionFactory.getCurrentSession().close(); - - }catch (Exception ignored){}; + }catch (Exception ignored){ + }; } } @@ -94,11 +93,12 @@ public void removeUserById(long id) { }catch (Exception e){ System.out.println("Ошибка в removeUserById: "+e); + session.getTransaction().rollback(); }finally { - try{session.close();}catch (Exception ignored){}; - try{ + try{session.close(); sessionFactory.getCurrentSession().close(); - }catch (Exception ignored){}; + }catch (Exception ignored){ + }; } } @@ -114,11 +114,12 @@ public List getAllUsers() { }catch (Exception e){ System.out.println("Ошибка в getAllUsers: "+e); + session.getTransaction().rollback(); }finally { - try{session.close();}catch (Exception ignored){}; - try{ + try{session.close(); sessionFactory.getCurrentSession().close(); - }catch (Exception ignored){}; + }catch (Exception ignored){ + }; } return list; } @@ -134,11 +135,11 @@ public void cleanUsersTable() { }catch (Exception e){ System.out.println("Ошибка в cleanUsersTable: "+e); + session.getTransaction().rollback(); }finally { try{session.close(); sessionFactory.getCurrentSession().close(); }catch (Exception ignored){ - }; } } diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class index f39fb6cb453ea452ed6358125fc248868ec6612f..da597803af3d52046e38a252ae0d5091223f8c23 100644 GIT binary patch literal 5952 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 H7k>92?$YlE