From 5d015609037989f134a87fc042c079fb556d4a66 Mon Sep 17 00:00:00 2001 From: Ohr42 Date: Fri, 19 Feb 2021 23:02:43 +0300 Subject: [PATCH 1/5] 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 2/5] 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 3/5] 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 4/5] 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 5/5] 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