From bfacaee845b6ec3ba3a3510ff91524caf847128b Mon Sep 17 00:00:00 2001 From: Rustic2 Date: Wed, 16 Jun 2021 22:52:40 +0500 Subject: [PATCH 1/4] v1.0 --- .idea/.gitignore | 3 + .idea/.name | 1 + .idea/compiler.xml | 16 + .idea/dbnavigator.xml | 554 ++++++++++++++++++ .idea/jarRepositories.xml | 20 + .idea/libraries/Maven__antlr_antlr_2_7_7.xml | 13 + ...m_google_protobuf_protobuf_java_3_11_4.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_8_0_23.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/uiDesigner.xml | 124 ++++ .idea/vcs.xml | 7 + TaskJDBC.iml | 29 + pom.xml | 2 +- src/main/java/jm/task/core/jdbc/Main.java | 15 + .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 79 ++- .../java/jm/task/core/jdbc/model/User.java | 10 + .../task/core/jdbc/service/UserService.java | 1 + .../core/jdbc/service/UserServiceImpl.java | 15 +- .../jm/task/core/jdbc/util/AdapterDB.java | 10 + .../java/jm/task/core/jdbc/util/Util.java | 19 +- target/classes/jm/task/core/jdbc/Main.class | Bin 0 -> 1085 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 -> 4499 bytes .../jm/task/core/jdbc/model/User.class | Bin 0 -> 1971 bytes .../task/core/jdbc/service/UserService.class | Bin 0 -> 423 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 0 -> 1345 bytes .../jm/task/core/jdbc/util/AdapterDB.class | Bin 0 -> 293 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 0 -> 1021 bytes target/test-classes/UserServiceTest.class | Bin 0 -> 4206 bytes 43 files changed, 1104 insertions(+), 15 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/.name 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__com_google_protobuf_protobuf_java_3_11_4.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_8_0_23.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/uiDesigner.xml create mode 100644 .idea/vcs.xml create mode 100644 TaskJDBC.iml create mode 100644 src/main/java/jm/task/core/jdbc/util/AdapterDB.java 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/AdapterDB.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/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..26d33521 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 00000000..24736517 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +TaskJDBC \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..9acf478f --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml new file mode 100644 index 00000000..cffd30cb --- /dev/null +++ b/.idea/dbnavigator.xml @@ -0,0 +1,554 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
\ 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__com_google_protobuf_protobuf_java_3_11_4.xml b/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_11_4.xml new file mode 100644 index 00000000..d60deb07 --- /dev/null +++ b/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_11_4.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_8_0_23.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_23.xml new file mode 100644 index 00000000..dc22c960 --- /dev/null +++ b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_23.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..972ec8d7 --- /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/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 00000000..e96534fb --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..83067447 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/TaskJDBC.iml b/TaskJDBC.iml new file mode 100644 index 00000000..74a9e79f --- /dev/null +++ b/TaskJDBC.iml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0605a4c0..f2dc4e7a 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,7 @@ mysql mysql-connector-java - 5.1.38 + 8.0.23 diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index f6e43b0f..aef35ed7 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,7 +1,22 @@ package jm.task.core.jdbc; +import jm.task.core.jdbc.dao.UserDao; +import jm.task.core.jdbc.dao.UserDaoJDBCImpl; +import jm.task.core.jdbc.service.UserService; +import jm.task.core.jdbc.service.UserServiceImpl; +import jm.task.core.jdbc.util.Util; + public class Main { public static void main(String[] args) { // реализуйте алгоритм здесь + UserService us = new UserServiceImpl(); + us.createUsersTable(); + us.saveUser("Ruslan","Baratov", (byte) 26); + us.saveUser("Bobik","Popik", (byte) 16); + us.saveUser("Andry","Pavlov", (byte) 25); + us.saveUser("Maria","Sergeevna", (byte) 18); + System.out.println(us.getAllUsers()); + us.cleanUsersTable(); + 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 a6c6c359..2f44c58d 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,100 @@ package jm.task.core.jdbc.dao; import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.util.AdapterDB; +import jm.task.core.jdbc.util.Util; +import java.sql.*; +import java.util.ArrayList; import java.util.List; public class UserDaoJDBCImpl implements UserDao { - public UserDaoJDBCImpl() { + private AdapterDB util; + private Statement statement; + private Connection connection; + private PreparedStatement pstmt; + + public UserDaoJDBCImpl() { + util = new Util(); + try { + connection = util.connect(); + statement = connection.createStatement(); + } catch (ClassNotFoundException e) { + System.out.println("Ошибка загрузки драйвера JDBC"); + } catch (SQLException e) { + System.out.println("Ошибка подключение к БД " + e); + } } public void createUsersTable() { - + try { + statement.executeUpdate("CREATE TABLE IF NOT EXISTS user (id INTEGER not NULL AUTO_INCREMENT, " + + " name VARCHAR(50), lastName VARCHAR (50), age INTEGER,PRIMARY KEY (id))"); + } catch (SQLException e) { + System.out.println("Ошибка создание таблицы"); + } } public void dropUsersTable() { - + try { + pstmt = connection.prepareStatement("DROP TABLE IF EXISTS user"); + pstmt.executeUpdate(); + } catch (SQLException e) { + e.printStackTrace(); + } } - public void saveUser(String name, String lastName, byte age) { + public void saveUser(String name, String lastName, byte age) { //Сохранить пользователя + try { + pstmt = connection.prepareStatement("insert into user (name, lastName, age)" + + " values (?, ?, ?)"); + pstmt.setString(1, name); + pstmt.setString(2, lastName); + pstmt.setInt(3, age); + pstmt.executeUpdate(); + System.out.println(" User с именем – "+name+" добавлен в базу данных"); + } catch (SQLException e) { + e.printStackTrace(); + } } public void removeUserById(long id) { - + try { + pstmt = connection.prepareStatement("delete from user where id = ?"); + pstmt.setLong(1, id); + pstmt.executeUpdate(); + } catch (SQLException e) { + e.printStackTrace(); + } } public List getAllUsers() { - return null; + List list = new ArrayList<>(); + int count = 0; + try { + pstmt = connection.prepareStatement("select * from user"); + //pstmt.setString(1,"user"); + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) { + list.add(new User(rs.getString(2), rs.getString(3), rs.getByte(4))); + list.get(count).setId(rs.getLong(1)); + count++; + } + } catch (SQLException e) { + e.printStackTrace(); + } + return list; } public void cleanUsersTable() { - + try { + pstmt = connection.prepareStatement("TRUNCATE TABLE user;"); + // pstmt.setString(1,"user"); + pstmt.executeUpdate(); + } catch (SQLException e) { + e.printStackTrace(); + } } } 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..d6755481 100644 --- a/src/main/java/jm/task/core/jdbc/model/User.java +++ b/src/main/java/jm/task/core/jdbc/model/User.java @@ -59,4 +59,14 @@ public Byte getAge() { public void setAge(Byte age) { this.age = age; } + + @Override + public String toString() { + return "User{" + + "id=" + id + + ", name='" + name + '\'' + + ", lastName='" + lastName + '\'' + + ", age=" + age + + '}'; + } } diff --git a/src/main/java/jm/task/core/jdbc/service/UserService.java b/src/main/java/jm/task/core/jdbc/service/UserService.java index 80542c68..dc57788d 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserService.java +++ b/src/main/java/jm/task/core/jdbc/service/UserService.java @@ -5,6 +5,7 @@ import java.util.List; public interface UserService { + void createUsersTable(); void 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..c173116e 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,34 @@ package jm.task.core.jdbc.service; +import jm.task.core.jdbc.dao.UserDao; +import jm.task.core.jdbc.dao.UserDaoJDBCImpl; import jm.task.core.jdbc.model.User; import java.util.List; public class UserServiceImpl implements UserService { + private UserDao userDao = new UserDaoJDBCImpl(); public void createUsersTable() { - + userDao.createUsersTable(); } public void dropUsersTable() { - + userDao.dropUsersTable(); } public void saveUser(String name, String lastName, byte age) { - + userDao.saveUser(name,lastName,age); } public void removeUserById(long id) { - + userDao.removeUserById(id); } public List getAllUsers() { - return null; + return userDao.getAllUsers(); } public void cleanUsersTable() { - + userDao.cleanUsersTable(); } } diff --git a/src/main/java/jm/task/core/jdbc/util/AdapterDB.java b/src/main/java/jm/task/core/jdbc/util/AdapterDB.java new file mode 100644 index 00000000..f156ef3a --- /dev/null +++ b/src/main/java/jm/task/core/jdbc/util/AdapterDB.java @@ -0,0 +1,10 @@ +package jm.task.core.jdbc.util; + +import java.sql.Connection; +import java.sql.SQLException; + +public interface AdapterDB { + Connection connect() throws ClassNotFoundException, SQLException; + + void disconnect() throws SQLException; +} diff --git a/src/main/java/jm/task/core/jdbc/util/Util.java b/src/main/java/jm/task/core/jdbc/util/Util.java index 59e462ba..899884a3 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,22 @@ package jm.task.core.jdbc.util; -public class Util { + +import java.sql.*; + + +public class Util implements AdapterDB { + private static Connection conn; + + + @Override + public Connection connect() throws ClassNotFoundException, SQLException { + Class.forName("com.mysql.cj.jdbc.Driver"); + return conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb?useSSL=false","root", "root"); + } + + @Override + public void disconnect() throws SQLException { + conn.close(); + } // реализуйте настройку соеденения с БД } 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..74d03a420624ebff3f530c730d9b67aa6d4f717a GIT binary patch literal 1085 zcmZuwZBNrs6n^d)Yc~ojMJC|8f^48v!FLd3D86LK;uK^2bl2U?JGyphyC(c9qaP$_ z;t%jg8PDyOfZ4X>p69$j=bqa?e}Dc4u!dJToWs0^g&b0tAHz*7>L}_cDY&F#S;s9M zw{@)Ouyx$Y;x1N|Z!L#=xUbLybv)GYNW)`>%!c%2w8=11EFCbUcl?H6$XBE%-get{ z5xnPhmn>Grces1N1F7`BF&%x8A;V0i)wUxZ9@>r{2)os&JN6!z-a6H5lVm6qKUZ2j z=C;edrd^8y={47remrPWg{dKKhE$hai$jWsB8a6U><UR>k?KOfU zim&q6^<#4Esf!{O#I7ks>~Rg72Db3bz&6Snb__hn3j@0-7&F;ZDRL7HLN8nrU!+zGTaVcp7_W*_IQF>|($4Qt%A68s$# zl$dAu0h7QaRXBmga7t$hxrB(0aZJ#E4te@uO{`)Po3QYPrmNC?2Q-;Q#;t 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..07e6c85863089091cf7a82ad0a2260c0bf058128 GIT binary patch literal 411 zcmZXQ&q~BF7{n)QZTFwM>w5Oyy%^AAMQ{;8DR`)QPt#CZ(?-&C!B_L(1Ncy4k`-L& zX~^XFO)}s2&*v9_E1X3*jj$$IaV?k;FP+fcGs~qQIEpu~1dBqe_d|Q!v7P4#;yA6@ zj#0_ll4eF%ZJ7+6t&h>7QTw^=$3sC7#E;IOmBQRg=^r3i$D93pZz@UCsxt|}B&*7n znO@sJT@HZjv~H+j-5cdf3tAUBr;RFvq%JeLu>ngi1#1sGOf%JMF77MWbM9{Ln7VLX z2+oIj1yerFLUvRCm7nrja1#;`jO;prFtBSw09ZZ#(-4tAk1_E&#mw?^OOJ43xrO7b Iv-HmD7cfa_JOBUy 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..54851907934cd6656de88691f6b6f49db0aad090 GIT binary patch literal 1051 zcma)4%Wl&^6upzAb()qW1zMm`N@*8PsIUZLm8uc}AyQdo5!(I49+?S#RO3k{{t8w| zEcgIE3UOv^h(#jG!ZY`E&b{||e*FCQors>(VTG%43&lw8IGM%_ROcqW^dMD0*zm(@Ts=U29Zk?Z=?e zMva;{Tet~U1J)X>jiLzNIy?sdH^CF@BQ^({6j8SVWPgA+t_N-{1-7XJS~KzppIKy~ zGYD@VI;YaRfzd%Y;V3c*~>hn8aR7ZO^#VE_OC 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..f675b538287f8e70f5ae967a7ce35b6ab921dd0a GIT binary patch literal 4499 zcma)AX?qjr6+I)%9$6m1F{=$uhOJ1pg(-oMu-nEY0wIIE1VSi`rNIbfNg0g*cMF7U zElt`qX`6IO_quyA!8XD`x-aQA>i)U?1O3+L>4&7}ozaR-lLvd2d*9`pbMJlcn77`( zaT~z>_=gvpFe2lW7cPv{(-LpMX`B&Hi3W@!DV|a?()D-(h6fohOk`!8m2u9C`55uw zytt2v%Lm2fLmqs%0UyCfJ$TZC3u2LrVv(mBa0yR)F%Qpp@T_=wPF$Y%;A0+q+=I*F z?GrLy@M5)C_C@jj$p&cnl#G|e{nO&|vKO!5GhX=c*#?}z=fvez;dsr9&*KZi@kI~5 zB;$1%UzYI|3GS>JPe@o5Iz8HHYMC>g(UhTgo{kMiJB6pSE2gDQ-PqH;O+tOf)J%O; zPnr@Ig-&Z{wa&~FiO&9_l|#JIR5GbY&3Gy)VR3m(Psz+dwdssG$~9J${Ra&_tr>c( za;>`U@nqcGDWS&aA0pD8R7{t!AQVsP;q2(JZVYI{30j&$si>A1(u}xxFBl~{NJ?N# zXvvYzo`jakgj43;R5lswJs;K60wcjJEraMk6sq*N%~SD=gmrUB6Vp0-1t z+%a$a9GZ_Z{0Uq2Z9BKg_^OPrF(v!sBT3E78sxcg7U*|fhUpYd=vuNeBHsQ~)`;qR z<07{f2~S0o*9*ZF?8Gh!%kNS$gRC0`4`7RouPgWlzNug2bWDEKbEC*gkU_5AbJb!)=9VO>$JY3qvhM*c$n5}$5Z*H!CU{sK)o>#8*=o>Y;M zGQO|i2lye2(B8>ub?vlLVH#batP zJka}aZ$wR|Of@_h3aMR#1AWJXVa`3!8y@ITRgvK8P*5C#)Ikdj8q`WeLrD zB7FzTBq|6fn8tMl+p$ANPAq;y!Hmd1fqxyDr zsN%=3;3jSY zCE*loZsjlMpOMhYYSB$yJ!zyy9W>`o>4vUS{T=Eq1wY15BrLR(z&Yp*LmLy7&g#!_ zYSdKQ%99oR6hBk&bNqtG_Uybb*QSDB;#UfOjo-+4OTlmPJ5epaSMUe?QGtcLfi8)M@Foo@7f1%r#(EGb$Vz+^}lA z6NGJr7Gk&Gsw0NuJ!Z-=G5AH+6$3e*g6S=|`BBR5JZN}b$E{X7@qH_~I=oL#)Q`C?yib_6&<=9um= zp`M!~#J7P>(^lWH%k~M?canMJ>#kfwxVgfXIi#G;v%+G}6EthI7?Z0i`-;gz^fg2# zyj8dheh0TBk-*JQmI~aCeIdVTDs~k{qOBELbJvBHsBNEr2rK#Ry$KRF!_9Ae_H2Im zyF`b!?`+%loo7AoGRLv;^SYaF|3VE%0{v~%klJS8Ix>x#Nx0kEuECu{t;EhyCtm7u zkj0B<9RAQ%c$*rgpp2tcJkMZ0r!8n|oWecrQ)rsPLOLh7@B;YJfqMJ?Apb0=K^He$ zj|N_w2zDVoi?ISrIBq#dE=2&#NMkv{HxqsfBJ_51w92^wc+i7Ag#Hk{J?P~Vp<^!| z=KT@=E<(*aTt<>92ru>fWz1{ls9=e(K~#cpGdX#h7Ui(mg-6Gs*qoNwu*ISZffeB{ zK`kvRZEI*WiHAp z;56sZA_*{_5LH}0VY6!{|00kU)DeiEAlk@3KuqY=)aKxK zA;8iVH#vtk7p|jy8jNRvY2VI(uXphq$`@d*cM9i*DZKw_mo)y)G}F)~+?OqRR&g7v hWqU6bcZ{(;PL{*0xD%`}jTINQ8NJ7f(`{HM{|9^aifRA= literal 0 HcmV?d00001 diff --git a/target/classes/jm/task/core/jdbc/model/User.class b/target/classes/jm/task/core/jdbc/model/User.class new file mode 100644 index 0000000000000000000000000000000000000000..8d3b86af37f733ac57cbdbd4b5f6b3adf66a71be GIT binary patch literal 1971 zcmaKreNP)l5XPT9zhay~%u5QT)NMmCj^WZKKpHR!(53}hRBBqJ{(0CZdepu{_PJ_R z^*bd}04bIF0s5h;K6886=i|sfv$wM|&-`|F?%)63{R7}J4hy)4jWJAOQ_NE_Ux|5^ z!&U)VY~-;mYhBDv9?xZck;iTxd-A!T!`C@{qhL5Kg~`U5^_yk3E%(%Hc<$+z!rTvi z*LOPhvD0%-+V-yNdcNg5p4(HH4Z?pn&+Tr{>G`(Xw9SJSlhUr$u@y=YxmSMI2?Xa8 zlJ>oJzvD77-?n=GQIMRnPAL&3+WW(|8I#?1T*u#0NL5yjS!>^GF>s>cxb{)Mb7FUY zv2+=MtaZ{fJJe~LKlSV`i)>bIvcK08 zzzI+0)bj4Tuc8hj)~DQwz-P1~&}L+s>$C_|A6~$y)-I5$u3jKL)SE?y zF>{QZ#~6|BQelb^WqPYRKh&mDcsco!D+$T8%nMSi`2b5{Ws|E$e~Zj(1{n}^=@BSg zrj28Nj%A(-_70;(I4j7RA*jCi1L7_P3bQ(D0GAD4L!p9|P%8>z#6c>FAXPj}0x{ws zHG-_(0-{Gip_T}eii12#1X)c6NyR~)5M=!p5IuJaYmiPzccUFi$3dPZf;_?(NgavI zkbatNg4AyT(ZjCf*AKOPKA$4c;or#qe1%*oe~Gaw=j9TG(zyOMxJ)izqFB149jSri iu6CpuJ^2?SE-?|m&2Hp2hvAqQ{HM#k^i@v) 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..35a8eef05038383cd991c021340673dc4d0459a8 GIT binary patch literal 423 zcmZXQ-%7(U7{yO!ZTCmFIiEr3ZVc#UMQ|5_GVr46eVTrh)~uB@E%<6)_y9iCFv$iE zc6G?f?>ou)ez)I00B&&^;UdC#{Wo!ze9_ zT9{7TKiwPwck61yjc7l(Y&7vI&m`Y8IVtWklY1L5lZr%r*kPPDotE@ix}I})lalUB zN!P9q!_{%7WgOsB_plxPum6%&Bu&V`FtDoy!oaQ&0buoXuOT9T9%AHmjEUvXEIq)v M<))6a&dfXWKLS*4e*gdg 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..707d88389592071bd31a89b88e5ad3e4a09497b4 GIT binary patch literal 1345 zcmaJ=VNcUg6g_XNlx-ah1OycU6&)K=1yl@##6d_P3x1fA@bRsCnVnrr+K$A3rHO{1 zi9f&}WxV%o!a^HA^!C1cZ_l~++}GcKe*6Nkfj4?uS~oaFnf^-_hlfkQ15i@SVo_0CkU0@X*C_YB?J3IzhGNnWXJX0cvm1> zUO5pk_JWoY7_Ym&I_`CwDts@S9z`bWfg`;W8M=HP1daHk8wpfXScu@x` znMaHzCsZ<4+(IGSqlIOZYpj@tZ9_4h9J+pcI~l3z=6%`KttLJY z81-ZnAM1Qpwy8?g1ja(u4f;g2&xb7xqJ$6luC7v8RRE-X(x>$5YZDo<83QdZD8ZTo!(cGeZil@o*MO zm=IY0?{<&&YkRD@g)xkq*s^d36BcIK%;BzuMJ!o(jAaXDMq5du5p~)YX^GboziW1s z6Q?$l^0~l#l4j^iVu`N01%VXDnF4qy+HOmjIR{S z;5J$QXMh|G@}|gRJgUbuX6P+ghXK|Wy*Zb!e1ma`TLL#xEW#-cq2#YnNXT@Qkt9lq zP$p7QXcGgJQ|i~CUW(jHb#?v{rjcl8iiVliK$U*+pdI=Q_i$eiQ^Y)ZEI|lF`7+~%#v<%nq)@96s|}Lc!);?B>3J?j`y*t&sQ4e1inzTzljmb mfttDA!ax0<=$faLr^`o{k#1}wpVV=YbX-b7quZ0~aFk>Hb8RyQJ;3dcS+bH}2{wRk%aAL8= z`}Xbb+n?XVH-JYB1a1Uw2||14jE;o+(Rf*^y^`V6%K4cV-c1PI=Pzw`kwp;b3G^A| zMM#tF(fF0o#@CfLi^3X0Zz@GiBlj4bo5mUS$wOg_TkblocV zCRf|?lxg^n=2nI9;^V^CE>D37cPaB`y-YkK5L)~y(CQG{=&-(El`+jAm|f!Pk2O8P J)ot9kJ_3r`NHqWe 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..650f3b99b2eb1ceb383ca4041700dab683a049f1 GIT binary patch literal 1021 zcmaJ=+j0^?5Iqwv3!9BZz$6-@M2$jJCW@CT;-w5RPa7-?jpgI8OvvK06L*)C{*{*p zqYr+7A7$CIP(T^u!_G|ibf0s&d-m7wA3p)qaNmT9l?*PKxQtQ;s~KD|aTV9H$YO04 z*Kxx@*+9j>Iz!S?zRz&Z?ujG8!}lI%B2a<=Qs z=Ahq}!7I`B$dk8~BfLEkxY`~$lhJ`2GOXCWK95BBjyo!lyw_S^hrrA=1z>zzy7L(P$Rb7yUGsrP4IjUdnf28WF zPOqv3RJQ~7NCpOOTd0CF#IovfOr3L2S974ks9vjWJm7;+2A%d(+FC99@xJgvVo3%{ zMFuu3+`(N77Um4pEZozC%m1mEVLtA)C;Tpd(eA~SmrhA|))9x147RrzN|UUHC&I9) zq8&BxJLAsK6vsnsy|kzNxxZ4W=ld#XiawRGRvxxImeYy?*Y9qQrVzVgE}GK97<<^d zUEzza3>fCRGMc;@hTVSvo}@VGIc@ZXG4V7@%JEbvu}W{+1j8(Srk(-)0tq_P*lC?7 zi_^|%Ppy9g`%H%!oTW7#I}PONYz+fYK#?qJBNix1CvU}IKrugajKrIKGM~z)j*))* z6~-sJA7YubgQ(L)JHacC@D}MVO%Y2tPuLeo*bw_6Sz1{33ykl`FigY^0Sm~Gpb21h O3NT5j8g4ljaq$l_2JI*S literal 0 HcmV?d00001 diff --git a/target/test-classes/UserServiceTest.class b/target/test-classes/UserServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5521a21bfaf29a2cffe5bd60b4e9088c5463dcca GIT binary patch literal 4206 zcmb7HYf~H78GaT7yB2Fq6dMPUII`0;Ajim!dvkpYBDlqoabqy8A+@`R4PLAZkybQz zF996KNlcP9y-j91laHBczXXrP#l*NDJN>l!1N|YLPNvVhyAo@pU_6>RdoJ%e=Xsv@ zJ?B08_t*E<0UW_!!-!!}#knvVFt`Kl_^F21<$GSkkbH-wxX^+T{7l8qRa^{1$DoE$ z`Ho5Ph7`XD;}R~5*)KI1VYFaeMM~NeQkX4x6O$^ggwY8rj451|T3U)s7+K^rOlx>c zZ1WllVs2|FYM7C(Uuk$-!!;Gx6|@u!W`4-b&sZr_!HdbMOx!jKSL3N%-i%L8jHlup zm%;dj4Z~v!G}|oLgGPpvBFQOZ#)zkl>|}h%&Rf|@j_>TtWec{EwMUF}kw&`MCymM+ zRhqq%98eOC)UHWE^KmO{*(Vh=c6E;^2=(PAIJ_%qWzE52X57pV8{=vAM3T9bksdMf zmbCrOkbT7}D0m_nKsn4Uh@^EQpPQEMf^VyEkv##-{coqtY1_(W1@@3_q^_PdrhVIv z^Tn)fWy}$)U~#wJY&K^bV$03ilDYh3e5y#)aeuG2RNgdfGq{^pFlO8iQYsRKf_-&F z&X8={l~@qx%}mall(;r9K_^X`c5gcEE=%cUnWR;)1%fMm(YDfY>EYz|hvm68U6JVU zCfnm%!#K&ccBRs$kqxp559NyalzG|`PwbYFAul{cfF1#(YkG zqBsLHMpnlm^e_~po}1Be7(F_^gO^qOTE{V2_sNY|tNKmB-i=-_0ux0mJt1OWaXv54 zIxErgyi+RAv0Pzu-MQm@>D+f#WZ;H#myI>2Bpu~X#PUmLksT}L_sX}U&I5PCinHvj zm)~didXyt`&OK+X{Bik~H_a)9b^HdumEw0g-odPjIUV!3p`%w|-*_a9Iigy2p?m`j zj<1y$1csm&J}&6h$3XZlX6e*TUel4lO&zE4o{C#K-p22&2wo`L?qbrK%;0wO*d3j;s;*ebMkPc`Q=tJD&7W=MHDE zyxB9DM#z=d$u2cQgHo| zF5DbRTkK3i*2H5V_%r^Z;2$mmaes+wE=UMOYo(PaFE2!06&9(-yae%AoH9=xDD2~@ z6t6iSJT*KU?kZaZtbzq!FIR;Jbmcs;5-=U_9z=#PVbZO0#CDTf)N>QP$N=Zzs{{wR z1cKu+6nssNVcz*$MTjV2+~P_8pc*Iy`0&C1MnG;P%AMif3f^Vn26`QLD42Ux;P^=7 zcDmj0ZFNPg_VA^`)n)I2AX=ZP0+plQ3n`#}g<-S#R?$fF74Z=Aib|ti z&fj=1HOmV?I8=eT&#lBY+oUcYuxgKj9pfDEUtWApC8$%^8TVCHuz_6=Y^pQ16o zy+Vjc3T7=L=@$y(tT&*EZ6@GqTV_@(mz4T zMj!Iq!0(~hU4&KdXaLb z7N+z>nj)&UioGFU;inintLSLJKdE!1iRwPRgl9fOXGCTFS-0M*vAS;w&wUOp5~cD% zpX{&WlQI6+srck&x*g~u*=~}Jk?KqQU)94WN*reyjU$Y|F?#P38C+&C6e)oOOO!r6 z!g+mom2S8k@Y+m3jy8n;hY=N>|3xTK$9?@(UH6#(20Y zG!H-{=o6%Qk~B{d{wpNgM~hyU?5m_9v?K(30%ZCFWEg^(Ivh?{IsC`xFuWZOtDtX_ z2Uqbe-WB4x7dCnB+jS@%Wze;77dcHa9${dBl+KXSYowH9-yrXYa|As^%hyTxJZr;M zkHvWCe~h2dV`yT&D-QM8UnKicvL7S+HyFW}cy(Q-dsDPD=-zQ$#6;DxeF4s+0mqWz Nsd@~P Date: Sun, 20 Jun 2021 21:14:50 +0500 Subject: [PATCH 2/4] v1.1 --- .idea/dataSources.xml | 12 +++++ src/main/java/jm/task/core/jdbc/Main.java | 9 ++-- .../core/jdbc/dao/UserDaoHibernateImpl.java | 50 +++++++++++++++--- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 3 +- .../java/jm/task/core/jdbc/model/User.java | 10 ++-- .../core/jdbc/service/UserServiceImpl.java | 3 +- .../jm/task/core/jdbc/util/AdapterDB.java | 10 ---- .../java/jm/task/core/jdbc/util/Util.java | 40 ++++++++++++-- target/classes/jm/task/core/jdbc/Main.class | Bin 1085 -> 1141 bytes .../core/jdbc/dao/UserDaoHibernateImpl.class | Bin 1051 -> 3471 bytes .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 4499 -> 4454 bytes .../jm/task/core/jdbc/model/User.class | Bin 1971 -> 2123 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 1345 -> 1350 bytes .../jm/task/core/jdbc/util/AdapterDB.class | Bin 293 -> 0 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 1021 -> 2604 bytes 15 files changed, 105 insertions(+), 32 deletions(-) create mode 100644 .idea/dataSources.xml delete mode 100644 src/main/java/jm/task/core/jdbc/util/AdapterDB.java delete mode 100644 target/classes/jm/task/core/jdbc/util/AdapterDB.class diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 00000000..0fefe251 --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,12 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306 + $ProjectFileDir$ + + + \ 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 aef35ed7..aa02d3d4 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -11,10 +11,11 @@ public static void main(String[] args) { // реализуйте алгоритм здесь UserService us = new UserServiceImpl(); us.createUsersTable(); - us.saveUser("Ruslan","Baratov", (byte) 26); - us.saveUser("Bobik","Popik", (byte) 16); - us.saveUser("Andry","Pavlov", (byte) 25); - us.saveUser("Maria","Sergeevna", (byte) 18); + us.removeUserById(5); + us.saveUser("Ruslan", "Baratov", (byte) 26); + us.saveUser("Bobik", "Popik", (byte) 16); + us.saveUser("Andry", "Pavlov", (byte) 25); + us.saveUser("Maria", "Sergeevna", (byte) 18); System.out.println(us.getAllUsers()); 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..3adc1333 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -1,7 +1,12 @@ package jm.task.core.jdbc.dao; import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.util.Util; +import org.hibernate.Query; +import org.hibernate.Session; +import org.hibernate.Transaction; +import java.util.ArrayList; import java.util.List; public class UserDaoHibernateImpl implements UserDao { @@ -12,31 +17,64 @@ public UserDaoHibernateImpl() { @Override public void createUsersTable() { - + Session session = Util.getSessionFactory().openSession(); + Transaction t = session.beginTransaction(); + session.createSQLQuery("CREATE TABLE IF NOT EXISTS user (id INTEGER not NULL AUTO_INCREMENT, " + + " name VARCHAR(50), lastName VARCHAR (50), age INTEGER,PRIMARY KEY (id))") + .executeUpdate(); + t.commit(); + session.close(); } @Override public void dropUsersTable() { - + Session session = Util.getSessionFactory().openSession(); + Transaction t = session.beginTransaction(); + session.createSQLQuery("DROP TABLE IF EXISTS user").executeUpdate(); + t.commit(); + session.close(); } @Override public void saveUser(String name, String lastName, byte age) { - + Session session = Util.getSessionFactory().openSession(); + Transaction tx1 = session.beginTransaction(); + session.save(new User(name, lastName, age)); + tx1.commit(); + System.out.println(" User с именем – " + name + " добавлен в базу данных"); + session.close(); } @Override public void removeUserById(long id) { - + Session session = Util.getSessionFactory().openSession(); + Transaction tx1 = session.beginTransaction(); + if (session.get(User.class, id) != null) { + session.delete(session.get(User.class, id)); + } + tx1.commit(); + session.close(); } @Override public List getAllUsers() { - return null; + Session session = Util.getSessionFactory().openSession(); + // List users = session.createSQLQuery("SELECT * FROM user").addEntity(User.class).list(); // SQL + Query query = session.createQuery("from User"); // HQL место таблицы указывается имя класса + List users = query.list(); + session.close(); + return users; } @Override public void cleanUsersTable() { - + Session session = Util.getSessionFactory().openSession(); + Transaction t1 = session.beginTransaction(); + session.createQuery("delete from User").executeUpdate(); // HQL запрос +// for (User user : getAllUsers()) { +// session.delete(user); // CRITERIA API не проходит проверку почему-то =( ? +// } + t1.commit(); + session.close(); } } 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 2f44c58d..213263b4 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -1,7 +1,6 @@ package jm.task.core.jdbc.dao; import jm.task.core.jdbc.model.User; -import jm.task.core.jdbc.util.AdapterDB; import jm.task.core.jdbc.util.Util; import java.sql.*; @@ -10,7 +9,7 @@ public class UserDaoJDBCImpl implements UserDao { - private AdapterDB util; + private Util util; private Statement statement; private Connection connection; private PreparedStatement pstmt; 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 d6755481..c38d82b1 100644 --- a/src/main/java/jm/task/core/jdbc/model/User.java +++ b/src/main/java/jm/task/core/jdbc/model/User.java @@ -1,12 +1,14 @@ package jm.task.core.jdbc.model; -import javax.persistence.Column; -import javax.persistence.Id; -import javax.persistence.Table; -@Table + +import javax.persistence.*; + +@Entity +@Table(name = "user") public class User { @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column diff --git a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java index c173116e..08fd01a4 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -1,13 +1,14 @@ 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 implements UserService { - private UserDao userDao = new UserDaoJDBCImpl(); + private UserDao userDao = new UserDaoHibernateImpl(); public void createUsersTable() { userDao.createUsersTable(); } diff --git a/src/main/java/jm/task/core/jdbc/util/AdapterDB.java b/src/main/java/jm/task/core/jdbc/util/AdapterDB.java deleted file mode 100644 index f156ef3a..00000000 --- a/src/main/java/jm/task/core/jdbc/util/AdapterDB.java +++ /dev/null @@ -1,10 +0,0 @@ -package jm.task.core.jdbc.util; - -import java.sql.Connection; -import java.sql.SQLException; - -public interface AdapterDB { - Connection connect() throws ClassNotFoundException, SQLException; - - void disconnect() throws SQLException; -} diff --git a/src/main/java/jm/task/core/jdbc/util/Util.java b/src/main/java/jm/task/core/jdbc/util/Util.java index 899884a3..4ee0aeb1 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -1,22 +1,52 @@ package jm.task.core.jdbc.util; +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; + import java.sql.*; +import java.util.Properties; -public class Util implements AdapterDB { +public class Util { private static Connection conn; + private static SessionFactory sessionFactory; - @Override public Connection connect() throws ClassNotFoundException, SQLException { - Class.forName("com.mysql.cj.jdbc.Driver"); - return conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb?useSSL=false","root", "root"); + Class.forName("com.mysql.cj.jdbc.Driver"); + return conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb?useSSL=false", "root", "root"); } - @Override + public void disconnect() throws SQLException { conn.close(); } + + public static SessionFactory getSessionFactory() { + if (sessionFactory == null) { + Properties settings = new Properties(); + settings.put(Environment.DRIVER, "com.mysql.cj.jdbc.Driver"); + settings.put(Environment.URL, "jdbc:mysql://localhost:3306/userdb?useSSL=false"); + settings.put(Environment.USER, "root"); + settings.put(Environment.PASS, "root"); + settings.put(Environment.DIALECT, "org.hibernate.dialect.MySQL5Dialect"); + settings.put(Environment.SHOW_SQL, "true"); + settings.put(Environment.FORMAT_SQL, "true"); + Configuration configuration = new Configuration(); + configuration.setProperties(settings); + configuration.addAnnotatedClass(User.class); + + ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() + .applySettings(configuration.getProperties()).build(); + + sessionFactory = configuration.buildSessionFactory(serviceRegistry); + } + return sessionFactory; + } // реализуйте настройку соеденения с БД } diff --git a/target/classes/jm/task/core/jdbc/Main.class b/target/classes/jm/task/core/jdbc/Main.class index 74d03a420624ebff3f530c730d9b67aa6d4f717a..45db47d14af7f5fe63ac1c9c40d1d80080af23b2 100644 GIT binary patch delta 504 zcmYL_-A+?M5XXOe+H$t-QVvTgmJby{`8ZhQ8%0s72(9RaMgv#Ugp!b`Bt=NL;t9Mk zeG<8Vl&=TyExa+l0Jp^1BZ;%g%>O^LGdur1*Oz+p=hevtFu|J?9Srykrtla@GsJL0 z3eFOag_;q~eFqDgQOyI*m}Xovp_xoF#k8xFw^$r^*+FU#!$BU$^%RMV{BcshOS^hDBZ)mRR;F8OppethmnCGU=Dv z%4KTR&)a*|_dC^Ealf>oh!2*BKGc`JKLSE3_2U6;v9rFZA}nF zB(%*o6XdUPiwy!B;X_(wgjF2TCLk-b8ni3^FIFHOt)yutBd3EF`UpfvD|1-+nl|2% gWsP<|l8Xf7+>+g_)5{%c)~rfPzi3e074C8GFMIPoZ~y=R delta 437 zcmXYtNlpVX5JjImA?-8{G#zLl%<~ZDd7dXBBoGURWfrhPATez@1L_NK0uU@f0l@({ z2sdDhCs8rR{^f7|t`9zcUO#|gHayB{b!qc(Xf39l4o#<~%VM`CtLf47YWg(& znt>#P4B4|`j}b;KjaeCYnQ)oBJ^qSS5JuaouYSrfO{hrhUR|8zP8IG_?mTySc5Rqp zHo8;ejdO;177U9lxhxx2ST(E>8rE%PczYj4DQ73Ta=y}OF>05CLY@${Qdp{Z#?R)DD3ca>0>z{BcCdcB@k9-p6eY4Vl*%9Z3{l1$0h^@Rk$LuH Z66-nq^F=)k5^1(+q)A*Wnk9B<`2_*GGv@#R diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class index 54851907934cd6656de88691f6b6f49db0aad090..e2faecaf42eaf2c7658b1043700fa0fb9c7608b7 100644 GIT binary patch literal 3471 zcma)9X?GJ>61`87X<2GEgH6oZfy|7IZA46#8B8FO5g;PVV95q&Z%d76(^3nmMQ}2c zkY&~+vm}{)`wN7V0162o^MOy|FXVqDC--%?Y}qmihvRc`A-23i}y8sU1 z{}E`&L@Fp^m)#~raKsZcZcC3ow-A*F8A>!w{1*p{(trTE3R zN<8OnP)#@jJ67%HYkH-w7aXec#D-$cu6CLY*Yzu|AAwjbv!GwmYS^O(|gS*+n&4RV!B8!W2dFLfXR1pT3~(7 z(F>O*^{N}Rg1Q2R6fGG}!m?c0q&YU^p=vm$70;M;hjH~>ZWy&if&Nv|pOs>{-;h+2 z*lyK3 zeL~Al<+arLbS|IMBsp5lENba&K6NrRtyOGC%g$snT4E+Y^-4NR-N{roKcZ zco*+6xZ~4PXO=;B02J8SeTSC$SMX~Uzrk-M2ftJCd;CGc`zk)bhrBVX%QV?At)juZ zyl);@|j>g8!=c zAC9psSw)6pXiNL_+a2tK8V2>31Du*)FbcdhyM9ogH)YKx!UU|8ceD@omTsHwC7j_+ z6xhsb>i41(Y&f>Oj~Xw*N`os;@XqY~p?zL{yJ}Q?C8B$fJsR3HZlcZpm%O;c4Q?Tqh z#oO9FqJG(mPuP_TQ|CA8<%}j5r3K}RZZ(Xl3j$kWNxuWSomy@a%F}Bg@9y3m5?9Y{ z=5hqE;5rR>RW$DVF>MYRjy21CU5+-%^)kHNV%;&y4AE{dvVPA4HO_E=I2i%q8%}u8TpG8LR-S1Uc+9VT8)GI{43WqwKEpfE6 z*4mS8%Nk-1R*Q2Hk75shObM=l!j;p3&&S-~Ssb`rd-mUg_>?aJ{DjX4S71Ft*odF< zP4y1pXNd7jU}(v}J3JYrY~(fqO#}rp!%c()CWrfanphV=6NO>s#~e`@VbWc|Z49df15(jMBfrfh9a|J{V8r$MI~( zI^x+wJR0pkN-TScWgq=L_Rv`3I7md2+vej z*_k0XGJ{7wBtDD8gvT*Pobv4u-(PfG&4i&5$QWJz zf=-|1Q--jgBt^*yN&+}Z*{O%A;$1G#CU!sgR(Vx?l0HunL7G)O$+)wm RXzE9+IPKr4(=Mv#z6YO-OhEtu literal 1051 zcma)4%Wl&^6upzAb()qW1zMm`N@*8PsIUZLm8uc}AyQdo5!(I49+?S#RO3k{{t8w| zEcgIE3UOv^h(#jG!ZY`E&b{||e*FCQors>(VTG%43&lw8IGM%_ROcqW^dMD0*zm(@Ts=U29Zk?Z=?e zMva;{Tet~U1J)X>jiLzNIy?sdH^CF@BQ^({6j8SVWPgA+t_N-{1-7XJS~KzppIKy~ zGYD@VI;YaRfzd%Y;V3c*~>hn8aR7ZO^#VE_OC diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class index f675b538287f8e70f5ae967a7ce35b6ab921dd0a..1d0f1b00efd334de020fda7857c5ba74925982dc 100644 GIT binary patch delta 845 zcmW-fS4>n<5Qe{HFMICZJ%Ffd!3t`?6;vX2EMUW4VvP-aK@>aof?aG_j=lHZQBe_l z?>+I+#F+Tzt1s#tAMSr<=AZfJPv)9NKaz@H{JC`pXvG(g4DuBdJ)+1DN~OR?lWa6O zL?KgbG*vMz$aH47%=DN=kz%%Djz=u{E_3ZW&%%5Q3tSe4Sj1wNB`(EQWT_Qd7GgOo zJYrZ`?6S&ct1YZ?DREirvd(7f6&pMnS>25`FAb5$CdFp^Zn3b{!?4XGh3z47*SY*ooZz@e4C@3LyE)ZjQ?O& z%@K}jI?z#ZOmmzQW}FiVoYb7+v?+Dk1Ca?VHC{PKm(cc*X6c`j(qb5V1N%O*2= zYv78ejH~8TbpLACxUR{hlcL-fZ)k3sj6i4i78RP?RGI~WLjN7^nxBC*_a65(4|r(m ztHkt2Jk~tnsp6UDIWIJwd8v8DYt0+pYTof)@xgK*HJ|uwrmH<=Y3^@-!*BTIdN4Rr zjxSO{)Tna&*Ki_{t2oz*HaWUWaWWBt#F0!JIfkDs8E8&OFdm1h!c-@LucP-jdn?ckeTe=&{Y%^TC(H-A^rW-vZlJ)eYm%KUhRmcBVWPD0A1cH4{Af``z z1GF4Djzp@EB)W}FUd+63id34)hE(dxNIg+cB+cZ;r<#P=jZM;pwLUUvLTg%zpANEh zq~K`UF_!jBAk(~xJzBe~bY@9sHjTwmvN%i;kE!%DC2?QVdW+{ic=VG^1H{EZVFoco pTo(vVV>mMzDu4Mf<}$*RR;dh+5xsHJohQD=i?3YqH9>r}`UfjtrMdtB delta 902 zcmZ{i*H4r|6vcnbE;}FJ4k{`NiV1>5Sy|U8D)xXisIkQsV{}1-Ac`*73-;c}-mv%H z5PR>v`)Ex3Crs2k4?g-ZXYRe{&benY^E1t)S3duJ{Wj2+uP)gXDJHtaP!uPX;s7N~ zvQcS($xN|PnPO@j(}+5hyHqe;F+(xar4~gFv+O?G!W;{89p(j?&jN=^hlN&Tkri1S zUiY_?Xh&L!RIuDAJy01-ASHrai%1>>@Xtu8It7GNCP zE$pzwPM2Nmw!|KXy^4K`D#d;ezUdXkr5@7ymrM>OcR+E_9Pw5qDh_E5b41gL&WfX&V;ncbeL?>T%}Gv~<-Q#MY0VkV znuor^_;Z}soa2J#B9}~d>}LOE%@wYim$3utRdY?#g|3PkTfDBhVY2+)oSWRz+~$sn z`b)icxo5unLxKA|&^+XkhZM8Wo6=VEm?xU2JX1W^yx^s#8?Q94d82vDJI#AOC_Y;5 zljbvD%tW=TY3jc#|L?{ZonPLxA9&^YVQ8=#Pw)mYqpI;Gacj3CM|${Ef~Mw&>STZv;tZ>)3| Th^KMlDI%T<#Z#6Uo1p#zmlnG* diff --git a/target/classes/jm/task/core/jdbc/model/User.class b/target/classes/jm/task/core/jdbc/model/User.class index 8d3b86af37f733ac57cbdbd4b5f6b3adf66a71be..3a346e771d359e4b6ead11be198c5d496125be21 100644 GIT binary patch literal 2123 zcmaJ>Yi}D>5IxuLIHpOQG$Cmy>4VyFoh-D_Li1=7H!Th(MKna}$BlhuHmui?ca4Y; z{|O|LN+9tA_)&;6yIXthZt~^cojWsU&deP9-~ayl2f#yom&Xh?CoqjIIkx3^D#x=d zcJjzzGlyNdYjQl#VNdQCIlRo_Yx%5av7f~^3JI&FFx@yYe>M%$Eo%7QgR1 zp4HJumTMi`ddG3Pp6OX#$5oj3!+$YOb}!D0RIjY7&XJ6fR_q5InFSw7*VnA)|j-S0S3(>7i2z)wz^ zZ9+sl-aYfAPG-|`EN@#OSzbM2ty;Imz^R7i=!1UeSoaQ14nnGTo2Gqa_AIf($CUS@ z#mU@koOBG&bbm6M-JUj1TE|VJLmb=q!PPw$d0c*<`;{*~IpLFTYp>2-70auUgm7DF zH*n5I;eDT^W|#I1IZ>h#Vy(Z!g(`%9rO)h9>+E4Wp_5^fam zksLSiaREilDl80TACTDXTXswLC>SaKtJT^npn-4YIN)P-MFhB268n`xp}O);S6d|t zsJcRJG2;=|6qc`20tGlM{p$EcH$CQ?r>ENCir3G!^#Hlfcl?E|IVNU zgu2WFq!vfJg8O0eHlqbNBb3uaqCw;LNVnu8%m+~ea+z>33RSFySWzO0aUzviBI}SO zncoPJ#5j?45-~0z5=cPd(^w+OaUu_5iF_7MBsosx5s5s$gh-$}g$KTxq^amcQsYFP z#1i=&U&Ku$qM=|l+a&Vz5+Z@vmHZ2YSRU6Wa@hYHnKy5dE#@vTQK4QgkS|UK-w9sR zr3(~_9|RA{!NaxSA;swF-xzU$sqt=Vk#6=wnIt$Wk>i*C?{|t{U(tR-CQB|h{s#yk BhF1Up literal 1971 zcmaKreNP)l5XPT9zhay~%u5QT)NMmCj^WZKKpHR!(53}hRBBqJ{(0CZdepu{_PJ_R z^*bd}04bIF0s5h;K6886=i|sfv$wM|&-`|F?%)63{R7}J4hy)4jWJAOQ_NE_Ux|5^ z!&U)VY~-;mYhBDv9?xZck;iTxd-A!T!`C@{qhL5Kg~`U5^_yk3E%(%Hc<$+z!rTvi z*LOPhvD0%-+V-yNdcNg5p4(HH4Z?pn&+Tr{>G`(Xw9SJSlhUr$u@y=YxmSMI2?Xa8 zlJ>oJzvD77-?n=GQIMRnPAL&3+WW(|8I#?1T*u#0NL5yjS!>^GF>s>cxb{)Mb7FUY zv2+=MtaZ{fJJe~LKlSV`i)>bIvcK08 zzzI+0)bj4Tuc8hj)~DQwz-P1~&}L+s>$C_|A6~$y)-I5$u3jKL)SE?y zF>{QZ#~6|BQelb^WqPYRKh&mDcsco!D+$T8%nMSi`2b5{Ws|E$e~Zj(1{n}^=@BSg zrj28Nj%A(-_70;(I4j7RA*jCi1L7_P3bQ(D0GAD4L!p9|P%8>z#6c>FAXPj}0x{ws zHG-_(0-{Gip_T}eii12#1X)c6NyR~)5M=!p5IuJaYmiPzccUFi$3dPZf;_?(NgavI zkbatNg4AyT(ZjCf*AKOPKA$4c;or#qe1%*oe~Gaw=j9TG(zyOMxJ)izqFB149jSri iu6CpuJ^2?SE-?|m&2Hp2hvAqQ{HM#k^i@v) diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class index 707d88389592071bd31a89b88e5ad3e4a09497b4..830f78bed2cdc7ec51a4968b8aa173d888df2729 100644 GIT binary patch delta 116 zcmX@eb&P9+9uuS1#6Ve2kIbahqP)bC)X4!%e^|K~SQxk`2QoXd@-lET@J*f$WC;RU zLX+<@yReEf@Gyu?R%1zEm1N*zkeb}h;>{>K`8tcIq9Ra@5`zc>15gDckmO Mj0~DUl8HeJ0PF)3-2eap delta 87 zcmX@cb&zX=9uuSL#6VdVFBd20$)QYtSUDM37`P^fF*~yIFmN*PPM!l~2>@AwlOHj= ou!=D7Fo;gpW=UX`VBlhqoIHWWn^9)+9Trbk1)v(m$y%&307`=qfB*mh diff --git a/target/classes/jm/task/core/jdbc/util/AdapterDB.class b/target/classes/jm/task/core/jdbc/util/AdapterDB.class deleted file mode 100644 index 687162d7f19717a41953750ef7e99e5a130e89ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmYL^F;fCD5QX0YUKAB*99v3gOkqg{C>0~aFk>Hb8RyQJ;3dcS+bH}2{wRk%aAL8= z`}Xbb+n?XVH-JYB1a1Uw2||14jE;o+(Rf*^y^`V6%K4cV-c1PI=Pzw`kwp;b3G^A| zMM#tF(fF0o#@CfLi^3X0Zz@GiBlj4bo5mUS$wOg_TkblocV zCRf|?lxg^n=2nI9;^V^CE>D37cPaB`y-YkK5L)~y(CQG{=&-(El`+jAm|f!Pk2O8P J)ot9kJ_3r`NHqWe diff --git a/target/classes/jm/task/core/jdbc/util/Util.class b/target/classes/jm/task/core/jdbc/util/Util.class index 650f3b99b2eb1ceb383ca4041700dab683a049f1..678ddfbf9fcee4a846b02f937de44c074f3ed9ec 100644 GIT binary patch literal 2604 zcmb7GX>-$76g@AABiWdQh>)aZNm5G5LMhYEBGdbBeC*ZDSam&PvqYB3Je7Wfj-l7U4cW{vax08!81o+qQWvm+jAEL z1_CPxD6SZ0==s|M$FiPZ(l_mb<-0~`>G`&O-srzF9ZoV+BsthAgU@9mIq>6U1dvmB{h3(D@Oc3oq!czk)3~jeWFGpg_kz;p# zuWI?BZ3T31KaFhIrJ8R@^8%9{pyozNvfMnvJA;AcZ`r1G-zwQbD49OlajS8FjJF+> z_VS@&KFt}`28*e@SMyD4#g;rLC1)9#-87~!Eih(!l}u%usm_??jN~@6?Au$GufR%U z10{io@%iY?yskSkQJY>6&d<%AKCjp4NU?B@OFo~yvSBy@t@Qbx7b@6H!$vuck8wi5 z(=;4Rr|}6+3Jgc})xi}r-A=b;=BB%4`<`2|T;_Ljx6(3=%#qPdG4l6`=@>zfMg`<} zY|n!=-=U4Yw-|gH+gP>=1^P#xwW=^X*UtW=QuN z<)yP^+@j$ZJF021W;;cR5FkvWhOIQ7<3$?V_(9-sx6vq}vcd!oL>YDrx1`@Glp~fV znyMw4t5q*t@oH{yw>3FN9J!x8v5_V!L?!3rWKJ?j+3ym=lsUlnK zi;-RIxWIFUYm_W9v!A_BRvTkZAh!o#w~21eyJpY9UBj(b5~kzHUg@pYSlJg_ZN`Kx zv{-0pTEl9n=sssqbKnSEYCv^#7ddIKfW79P8NTUU1=qyPYlvSd^kA0H z{zy59Q_LI0yyP=4WljFsXF93tjO z3*K-8?+o|)dEzYpTUZ%%EXKaTH|bdNC6wQw3N)RI0S`mv&qmY1WDB5-aSlnG!+A<{ zRV3(YFX4WEiR7Qyev8zj*VuP^M%%CT)G@F=qYY|(v2Z|3#KO>yplJtV&9HVT7Di&> zEk+45mYtoc0S)6CadW^94^T4u&_%+?yUj~PdS@s=59$RzxPGg0&t#2bK%3%E$UHQu;{ bc}5+Qp9NedomZ$&K>W=s0$2IcgKPf+bhpi= delta 407 zcmYk1%}&BV6opR_ndvZ!3L@eUpd$XZA~r5uX^0P?@d3)vMX^vVg~Z1ojql*XojVu0 z=RsWi0vd0P2`=X5o|*HVd*?a##jNr7>l=UuECGQvj&*?&${ZDr4S`K;>CjP4V;ePw z9fniEDolDCg4k91Z$S=z2!S9@-MK$Y>}iziV_K z`uCopI!346Qbsdyhfct7C}F^io)Tx-BZ)eWB_w7T8WJbSMDIzf)HOr9e`_i~aLkxB z2NZ9fx9z*o37Qu#pUJ#dMupZD(2%Ah;tcxT6!o+K)w!t7^R;=pOOXN?7O2YKei~Wi zNNHF^9traHc=a^)3R0k?6s1i3xj+9By`{)ez%sE#niI2QUbH4`7M!vttp1Np5*3px Il#{^f4=@)x!2kdN From 72fe2e08ecdacbe252df1c475188473a38d520ea Mon Sep 17 00:00:00 2001 From: Rustic2 Date: Wed, 23 Jun 2021 00:26:24 +0500 Subject: [PATCH 3/4] v1.2 --- .../java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java | 7 ++++--- src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java | 8 ++++---- 2 files changed, 8 insertions(+), 7 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 3adc1333..10b6b13b 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -6,6 +6,7 @@ import org.hibernate.Session; import org.hibernate.Transaction; +import javax.swing.text.html.parser.Entity; import java.util.ArrayList; import java.util.List; @@ -60,7 +61,7 @@ public void removeUserById(long id) { public List getAllUsers() { Session session = Util.getSessionFactory().openSession(); // List users = session.createSQLQuery("SELECT * FROM user").addEntity(User.class).list(); // SQL - Query query = session.createQuery("from User"); // HQL место таблицы указывается имя класса + Query query = session.createQuery("FROM User"); // HQL место таблицы указывается имя класса List users = query.list(); session.close(); return users; @@ -70,9 +71,9 @@ public List getAllUsers() { public void cleanUsersTable() { Session session = Util.getSessionFactory().openSession(); Transaction t1 = session.beginTransaction(); - session.createQuery("delete from User").executeUpdate(); // HQL запрос + session.createQuery("DELETE FROM User").executeUpdate(); // HQL запрос // for (User user : getAllUsers()) { -// session.delete(user); // CRITERIA API не проходит проверку почему-то =( ? +// session.delete(user); // CRITERIA API // } t1.commit(); session.close(); 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 213263b4..73eda08a 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -46,8 +46,8 @@ public void dropUsersTable() { public void saveUser(String name, String lastName, byte age) { //Сохранить пользователя try { - pstmt = connection.prepareStatement("insert into user (name, lastName, age)" + - " values (?, ?, ?)"); + pstmt = connection.prepareStatement("INSERT INTO user (name, lastName, age)" + + " VALUES (?, ?, ?)"); pstmt.setString(1, name); pstmt.setString(2, lastName); pstmt.setInt(3, age); @@ -61,7 +61,7 @@ public void saveUser(String name, String lastName, byte age) { //Сохрани public void removeUserById(long id) { try { - pstmt = connection.prepareStatement("delete from user where id = ?"); + pstmt = connection.prepareStatement("DELETE FROM user WHERE id = ?"); pstmt.setLong(1, id); pstmt.executeUpdate(); } catch (SQLException e) { @@ -73,7 +73,7 @@ public List getAllUsers() { List list = new ArrayList<>(); int count = 0; try { - pstmt = connection.prepareStatement("select * from user"); + pstmt = connection.prepareStatement("SELECT * FROM user"); //pstmt.setString(1,"user"); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { From f138c0bf90307464a2ea75074a68acd972cb807b Mon Sep 17 00:00:00 2001 From: Rustic2 Date: Thu, 24 Jun 2021 18:28:34 +0500 Subject: [PATCH 4/4] v1.3 --- .../core/jdbc/dao/UserDaoHibernateImpl.class | Bin 3471 -> 3471 bytes .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 4454 -> 4454 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class index e2faecaf42eaf2c7658b1043700fa0fb9c7608b7..926be7847590fff3977c60badeb181bf7eba8a21 100644 GIT binary patch delta 235 zcmXYq!7c+~7)6g{CUgv$k{QNGGi4;z(uyK#L5mSYRnTs`XuJR$Yb(1({$;BVU_;^! zJdEdXCC#_H=icx1qki=DYb9s5t!CVQdU$jhFr4JwWyH}0-f4Q3-ly?D|90#b%bvx; zGjEw*=#wG9V}V6Nax9S$QDWJ2XY!`(bo^M2yc#Q_tD=eM+L%t6ALlt-$Dzo)@&X%F z*rZ9BHWhO>{Sj8R-yzE`F?(#YPfb_nzy$7V_E5CW91Yoz)i^Pq?!Z4+dLiefoYyk8 J^!rB6tv{!TCZ7NR delta 235 zcmeB|?w8*1j724_C_h&rv^cehhha9u9Cn7eJPh*~>=_vZQc`nLOHvg;@|(F>n^;(R z8CV$jCr{)|mK0&&WDsQ#U=U-F075wiNd^@LDF$r@>B;fDij(!Y!bIhPDinY!6oIlz zKv`v=tO`_?WAY)c3P}wHE(T2oVFoP*4WOJpgARi)gDyiTgWlv|?p2aTK>fxHf(#}= zQ%o6*7|a=HU+2gqY&=408 delta 80 zcmaE+^h{}kAscsQUU6zsi9%*xN&aLTHW{|E#GKO9;>mGriDD_KIjJS73TZ|8xeBE~ eRSM-9sYR)iud=D~76YY{OBA%glAGDt