From 81bbd4c6549776b8bdfd6b66ce22e09141444df0 Mon Sep 17 00:00:00 2001 From: mr-nicko89 Date: Wed, 17 Mar 2021 15:09:52 +0300 Subject: [PATCH 1/8] Tesk ok Tesk ok --- .idea/.gitignore | 8 + .idea/.name | 1 + .idea/compiler.xml | 16 + .idea/dataSources.xml | 15 + .../2e524291-3b08-450b-8189-6203b25b2707.xml | 941 ++++++++++++++++++ .../schema/information_schema.FNRwLQ.meta | 2 + .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/libraries/apache_maven_3_6.xml | 21 + .idea/misc.xml | 11 + .idea/modules.xml | 8 + .idea/sqldialects.xml | 6 + .idea/vcs.xml | 7 + .idea/workspace (2).xml | 174 ++++ TaskJDBC.iml | 31 + pom.xml | 2 +- src/main/java/jm/task/core/jdbc/Main.java | 142 +++ .../java/jm/task/core/jdbc/model/User.java | 9 + .../task/core/jdbc/service/UserService.java | 13 +- .../core/jdbc/service/UserServiceImpl.java | 77 +- .../java/jm/task/core/jdbc/util/Util.java | 32 + src/test/resources/test.sql | 6 + target/classes/jm/task/core/jdbc/Main.class | Bin 0 -> 1046 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 -> 2025 bytes .../task/core/jdbc/service/UserService.class | Bin 0 -> 523 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 0 -> 3821 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 0 -> 2021 bytes target/test-classes/UserServiceTest.class | Bin 0 -> 4206 bytes target/test-classes/test.sql | 6 + 46 files changed, 1729 insertions(+), 14 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/compiler.xml create mode 100644 .idea/dataSources.xml create mode 100644 .idea/dataSources/2e524291-3b08-450b-8189-6203b25b2707.xml create mode 100644 .idea/dataSources/2e524291-3b08-450b-8189-6203b25b2707/storage_v2/_src_/schema/information_schema.FNRwLQ.meta 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/libraries/apache_maven_3_6.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/sqldialects.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace (2).xml create mode 100644 TaskJDBC.iml create mode 100644 src/test/resources/test.sql 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 create mode 100644 target/test-classes/test.sql diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..dac437bc --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/../../../../../../../:\YandexDisk\Курсы\java-mentor.com\Java Core\CoreTaskTemplate\.idea/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 00000000..24736517 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +TaskJDBC \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..9acf478f --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 00000000..a13563ae --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,15 @@ + + + + + mysql.8 + true + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/mydbtest + + + + + + \ No newline at end of file diff --git a/.idea/dataSources/2e524291-3b08-450b-8189-6203b25b2707.xml b/.idea/dataSources/2e524291-3b08-450b-8189-6203b25b2707.xml new file mode 100644 index 00000000..e91fd2df --- /dev/null +++ b/.idea/dataSources/2e524291-3b08-450b-8189-6203b25b2707.xml @@ -0,0 +1,941 @@ + + + + + 8.0.23 + InnoDB + InnoDB + lower/lower + + + utf8_general_ci + + + 1 + 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:null +SELECT|mysql.user:null + + + + localhost + SYSTEM_USER +TRIGGER|sys:null +SELECT|sys.sys_config:null + + + + % + 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(45)|0s + 1 + + + 3 + int|0s + + + 4 + varchar(64)|0s + 1 + + + 1 + id + 1 + + + \ No newline at end of file diff --git a/.idea/dataSources/2e524291-3b08-450b-8189-6203b25b2707/storage_v2/_src_/schema/information_schema.FNRwLQ.meta b/.idea/dataSources/2e524291-3b08-450b-8189-6203b25b2707/storage_v2/_src_/schema/information_schema.FNRwLQ.meta new file mode 100644 index 00000000..1ff3db2e --- /dev/null +++ b/.idea/dataSources/2e524291-3b08-450b-8189-6203b25b2707/storage_v2/_src_/schema/information_schema.FNRwLQ.meta @@ -0,0 +1,2 @@ +#n:information_schema +! [null, 0, null, null, -2147483648, -2147483648] 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/libraries/apache_maven_3_6.xml b/.idea/libraries/apache_maven_3_6.xml new file mode 100644 index 00000000..3e23e2f1 --- /dev/null +++ b/.idea/libraries/apache_maven_3_6.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ 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/sqldialects.xml b/.idea/sqldialects.xml new file mode 100644 index 00000000..678b00a7 --- /dev/null +++ b/.idea/sqldialects.xml @@ -0,0 +1,6 @@ + + + + + + \ 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/.idea/workspace (2).xml b/.idea/workspace (2).xml new file mode 100644 index 00000000..5c923054 --- /dev/null +++ b/.idea/workspace (2).xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FILE + + + + + + + + + + + + + + + + + + + + + + + 1615801278971 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TaskJDBC.iml b/TaskJDBC.iml new file mode 100644 index 00000000..712d2853 --- /dev/null +++ b/TaskJDBC.iml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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..16b32821 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,7 +1,149 @@ package jm.task.core.jdbc; + +import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.service.UserService; +import jm.task.core.jdbc.service.UserServiceImpl; +import jm.task.core.jdbc.util.Util; + +import java.lang.reflect.InvocationTargetException; +import java.sql.*; + public class Main { +/* мои заметки + private static final String URL = "jdbc:mysql://localhost:3306/mydbtest?useSSL=false"; + + private static final String USERNAME = "root1"; + private static final String PASSWORD = "12345_Aa"; +*/ + + // private static Connection connection; + private static final String INSERT_NEW = "INSERT INTO users VALUES(?,?,?,?)"; + + public static void main(String[] args) { // реализуйте алгоритм здесь + final UserService userService = new UserServiceImpl(); +// +//// userService.dropUsersTable(); + try { + userService.createUsersTable(); + + userService.saveUser("Stive2", "Libovski", (byte) 43); + userService.saveUser("Stive3", "Libovski", (byte) 43); + userService.saveUser("Stive4", "Libovski", (byte) 43); +//// userService.removeUserById(5); +// +//// System.out.println(userService.getAllUsers().toString()); +// userService.cleanUsersTable(); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } +/* +//Добавить пользователя по id + PreparedStatement preparedStatement = null; + + Util worker = new Util(); + + try { + preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement.setLong(1, 4L); + preparedStatement.setString(2, "newName"); + preparedStatement.setString(3, "newLastName"); + preparedStatement.setByte(4, (byte) 22); + + preparedStatement.execute(); + + + } catch (SQLException e) { + e.printStackTrace(); + } +*/ + + +/* Util worker = new Util(); + + String query = "SELECT * FROM users"; + try { + Statement statement = worker.getConnection().createStatement(); + ResultSet resultSet = statement.executeQuery(query); + + while (resultSet.next()) { + User user = new User(); + user.setId(resultSet.getLong("id")); + user.setName(resultSet.getString("name")); + user.setLastName(resultSet.getString("lastName")); + user.setAge(resultSet.getByte("age")); + System.out.println(user.toString()); + } + + } catch (SQLException throwables) { + throwables.printStackTrace(); + }*/ + +/* мои заметки +// statement.addBatch();//Пакетная обработка +// +// statement.addBatch("INSERT INTO users (name,lastName,age) VALUES('Stive','Lebovski',35)"); +// statement.addBatch("INSERT INTO users (name,lastName,age) VALUES('Ivan','Ivanov',25)"); +// statement.addBatch("INSERT INTO users (name,lastName,age) VALUES('Alex','Semenov',56)"); +// +// +// statement.executeBatch(); +// +// statement.clearBatch(); //Стирает старые запросы из Batch + + + + try { +// Driver driver = new FabricMySQLDriver(); +// DriverManager.registerDriver(driver); + Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance(); + } catch (ClassNotFoundException | NoSuchMethodException throwables) { + throwables.printStackTrace(); + System.err.println("Неудалось загрузить класс драйвера!"); + } catch (IllegalAccessException | InvocationTargetException | InstantiationException e) { + e.printStackTrace(); + } + + try(Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); + Statement statement = connection.createStatement()) { + if (!connection.isClosed()) { + System.out.println("Соединение с БД Установлено!"); + } + +// statement.execute("INSERT INTO users (name,age,email) VALUES('Stive1',56,'stive1@devcolibri.com')"); //вставить в бд + +// int res = statement.executeUpdate("UPDATE users SET name = 'Alex2', age = 55 WHERE id =9");//Обновить данные в БД. Вернуть id записи +// System.out.println(res); + +// ResultSet res = statement.executeQuery("SELECT * FROM users");// Возвращает resultSet + +// statement.addBatch();//Пакетная обработка +*/ +/* statement.addBatch("INSERT INTO users (name,age,email) VALUES('Stive1',56,'stive1@devcolibri.com')"); + statement.addBatch("INSERT INTO users (name,age,email) VALUES('Stive1',56,'stive1@devcolibri.com')"); + statement.addBatch("INSERT INTO users (name,age,email) VALUES('Stive1',56,'stive1@devcolibri.com')"); + + statement.executeBatch(); + + statement.clearBatch(); //Стирает старые запросы из Batch + *//* + + + boolean status = statement.isClosed();//Закрыт ли statement + System.out.println(status); + + statement.getConnection();//Получить соединение с БД + +// connection.close();// закрыть connection +// if (connection.isClosed()) { +// System.out.println("Соединение с БД закрыто!"); +// } + } catch (SQLException throwables) { + throwables.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..f4eb3a7c 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,13 @@ public Byte getAge() { public void setAge(Byte age) { this.age = age; } + + @Override + public String toString() { + return getClass().getSimpleName() + "{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..e1d1a7c4 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserService.java +++ b/src/main/java/jm/task/core/jdbc/service/UserService.java @@ -2,18 +2,19 @@ import jm.task.core.jdbc.model.User; +import java.sql.SQLException; import java.util.List; public interface UserService { - void createUsersTable(); + void createUsersTable() throws SQLException; - void dropUsersTable(); + void dropUsersTable() throws SQLException; - void saveUser(String name, String lastName, byte age); + void saveUser(String name, String lastName, byte age) throws SQLException; - void removeUserById(long id); + void removeUserById(long id) throws SQLException; - List getAllUsers(); + List getAllUsers() throws SQLException; - void cleanUsersTable(); + void cleanUsersTable() throws SQLException; } diff --git a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java index b05bd191..d0734a29 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -2,30 +2,93 @@ import jm.task.core.jdbc.model.User; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; import java.util.List; + +import jm.task.core.jdbc.util.Util; + public class UserServiceImpl implements UserService { - public void createUsersTable() { + public void createUsersTable() throws SQLException { + final String INSERT_NEW = "CREATE TABLE IF NOT EXISTS `users` (\n" + + " `id` bigint NOT NULL AUTO_INCREMENT,\n" + + " `name` varchar(255) NOT NULL,\n" + + " `lastName` varchar(255) NOT NULL,\n" + + " `age` tinyint NOT NULL,\n" + + " PRIMARY KEY (`id`)\n" + + ") ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8"; + + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement.execute(); } - public void dropUsersTable() { + public void dropUsersTable() throws SQLException { + final String INSERT_NEW = "DROP TABLE IF EXISTS users"; + final String INSERT_USERTABLE_EXIST = ""; + + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement.execute(); } - public void saveUser(String name, String lastName, byte age) { + public void saveUser(String name, String lastName, byte age) throws SQLException { + final String INSERT_NEW = "INSERT INTO users(name,lastName,age) VALUES(?,?,?)"; +// INSERT INTO users (name,lastName,age) VALUES('Ivan','Ivanov',25) + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + + preparedStatement.setString(1, name); + preparedStatement.setString(2, lastName); + preparedStatement.setByte(3, age); + preparedStatement.execute(); } - public void removeUserById(long id) { + public void removeUserById(long id) throws SQLException { + final String INSERT_NEW = "DELETE FROM users WHERE id =?"; + + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement.setLong(1, id); + preparedStatement.execute(); } - public List getAllUsers() { - return null; + public List getAllUsers() throws SQLException { + + Util worker = new Util(); + List users = new ArrayList<>(); + + String query = "SELECT * FROM users"; + Statement statement = worker.getConnection().createStatement(); + + ResultSet resultSet = statement.executeQuery(query); + + + while (resultSet.next()) { + User user = new User(); + user.setId(resultSet.getLong("id")); + user.setName(resultSet.getString("name")); + user.setLastName(resultSet.getString("lastName")); + user.setAge(resultSet.getByte("age")); + users.add(user); + } + + return users; } - public void cleanUsersTable() { + public void cleanUsersTable() throws SQLException { + final String INSERT_NEW = "DELETE FROM users"; + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement.execute(); } } 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..68345d0c 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,37 @@ package jm.task.core.jdbc.util; +import java.lang.reflect.InvocationTargetException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; + public class Util { // реализуйте настройку соеденения с БД + private static final String URL = "jdbc:mysql://localhost:3306/mydbtest?useSSL=false"; + + private static final String USERNAME = "root1"; + private static final String PASSWORD = "12345_Aa"; + + private Connection connection; + + public Connection getConnection() { + return connection; + } + + public void setConnection(Connection connection) { + this.connection = connection; + } + + public Util(){ + try { + Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance(); + connection = DriverManager.getConnection(URL,USERNAME,PASSWORD); + + } catch (InstantiationException | InvocationTargetException | NoSuchMethodException | IllegalAccessException | ClassNotFoundException | SQLException e) { + e.printStackTrace(); + } + + + } } diff --git a/src/test/resources/test.sql b/src/test/resources/test.sql new file mode 100644 index 00000000..303239d2 --- /dev/null +++ b/src/test/resources/test.sql @@ -0,0 +1,6 @@ +insert into users (name,age,email) values('Stive',55,'stive@devcolibri.com'); +#select * from users; +#select * from users where name = 'Steve'; +#update users set name = 'Steve', age = 55 where id =1; +#delete from users; +#delete from users where name = 'Stive' ; 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..88aa1527544adafcc4d53826894962bf00188ac1 GIT binary patch literal 1046 zcmZuwZBNrs6n^d~YbnLyCNI9>K!FaBsvsIM8YMF!DI?l3WBg$5$_;dE?QHL+Kg9pw zXTC_p#2?^~QqS#Bj9Z%Cd+vF8&U4PW_s7rE?*P{D(8L%PbS#?4U||$DVH+qJSW@D$ zffWO{b*!2&;pn)d<1T}_UGd7Vs_!c0*9>{L!MogP^6`${KHW zgn@eu*~dW`$R`X#cB#goZAJTnA?F66sB~I&5m$M=Nt(PH`Mg=!bTebJUd zl)~`%fE)?~P#8u#iHJQBcLSe@E)F0=c4c(-&K*@ZJjwl|9o|l>(J`ZAjTm`RC-%jQ zKvg}W%2-vMw2()Eq10dL0PyWryJ=xv1!O%LbOklqaD#f(O^yN!_p$NEKnZ&u>kJd= z#Qv||!UKgf*`HW(V;Dc5^KQK%e917|y9mYYN_DrWnv)c3&)mJTXFpv@zY@cIKi+^s z2;PqcmqK+eIh(qX@NTMLuRF}jb!5=dE~GB8OF}a7mOYg6g?H1nn_S9^#Y{;r7$o<%!?$=l5UQC zO60YO4cK^uPbsw`#cU9XtGGsW5fNOcC{XMgZcr>ui%tb(eo<&f$DB?Noarz%GTkCm H2J^oGv9s-? 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..69ccaa66e2f78129a89807f9bc0641f29faf4e2a GIT binary patch literal 1036 zcma)4T~8B16uq}CY$@0RVpX&%h;c!~CK8@XNGQal%?2N;yia#0>(tp@GCL*lU+I$x z5B>mt6!FgNYBy;EKJ3i>I_KVdc5ZI3e*?e)>@=VXuN>HNVB3M$2#ZG|5&9UR>h4}3 z)K1foBeZ;x@bgJL;_5RSNs6rdX~5(KQ^NQ~u%^F?4B@Rmjy=t?Z(fip?v2Ay;Ds#p zzGPgTv2<|OJMG7pvWu`9D9$uDiLBsghAO=*2kIHSvK0uf>yOzL^CU|mZ>W_>qV8;@ zX9rJMY{#4dAk-zx^tsJfSwvOXLue`G~;`}gEa5P7jnBwVv;xUlQr^BXOeZSfAB7Qp!(>Vd z?wjRSU;!2p-u##5B>7a3PopspG(zW2C~QH69tjCTFUFyp+R^FQ_e0Xqy|DKS@Fy7+ zsMFb?8_24WwM5oRUPRt9c}V_Wf_K)Z*c5D10L>B*{{bJ|4_u!MY(k4@&B%TF%px-# z+ZMQ&CyS0|*i~4w6VWdx%PfZQ5H_qLkDy)99#XtIk9O12whLgcfT4H{Pv}H=3Y(NO olfAb-X^20_%azQ<=#+M<6r(+}HO~ptxnGp+62Vl>7nb7XAD9=jx&QzG 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..d7fe77c3cdf62abe204c90a5e2a3fe96fdca9cce GIT binary patch literal 2025 zcmaKs>vG#v6ouE3uW{6-*l9{aDees%$EgY}ZAj9TB)uh=6dK43KNVXO6l5u5%M1+D zcWP&dI|DO301w5mwvKAcuF^l}roGqs&fd%Z_rJgX0dNN|N~mCE3T1pH!>SBxGOQQy zpoBbDBw(Y2hxl5yn?-ENyj{ejA|4m_t0}TeLo28&<*^a!dw*on|0!Jdu}gu{FYoF}eSc}fa)OKd~0q_j4w z`_{7AAm^bl}443h-iCJ7!xHPhyzF@2GdTpm`;u|yz_}0W8mP|aycdYFnZhN&V zoA2qBMpbOKT2(L`)wjlxZJ|-6d1R$tnz)N4h0E{jH*Ge8cz$^7v_i_WTH92mTPkDS zhz@CynNdz0caAChZs){vbd&P-$%*6B3(INUO1NX};glYW*FbAYH;u>RDu4JD{x4)< zNKL_CCU<$xmpB_z_QcsjbjB{cbH=7joK17j&T*_V>kendIahxJ^*WNd%CW>Nz-zO- z?iyF74#IWZ;7$Z?a;$RgF*3_}Rs`xxr!eY`Q)KGPr^t@<=8$8|JR=t{MZ27*TPj2o z?Yhp7wW$<8PFC_HA(<6-A;UXA#b@!&7H5tACvvYCWUy+wMj%=mb`6Vh@&=K(y}^ZsYTmiex82R#HK}h^$y;OU7E0@Q`lJIzb+s0iw;W^%U%zoNx3b7hfFVIQ z(Zzhz)--Hc<_N+t%Gi=o#qyNKR?9pcSCxs!cD0xltK8)MHX*2ocV6$L!d@v=UO+Gi zN2~n8N<|}S?3kbx%QRY3w92k3DnSiU(! zJ1!QQiyP_Z?)y$G^ipzh>gORisWP3%8%pZ0*+u`xzn^A;TY_OJnO8;QhiJXa1_43M xeF4y@yH%s^>Rng)(|x(g*Bo>mv4)=G_5br+?x5@qegKbqdr|-Z 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..03ae0e4739c50537df41c3239894043d937777b8 GIT binary patch literal 3821 zcmbVP`%@d&75-MQ71G++!p6nVb%GtqmLu1V^8f=Cu*7nNz>)x)IE6*5v9OTvYK2W- zNzt{fjN9UCMLh0=Q5Nr26?Y@(7RD8! zzZS&|s!`0MreZyU!(wMleBX<}MqNmpFouMrAwD+37#8pQVT=gjg9tY9X(9Pc6a{=X zjL)g~yoy&RjwLqg zo}Wl2S1|I$g`6=bBCVPmW~yRVS5gJXE>~A*6uMut?^?Ek6MMvJIOR%eh7T$pT(_-t z)3%li4uh;&RY$>b*JJ%&B{jWsmnIS8LCIQo%C%};#TOLpU$$%Oo$z`+cryZIdNgY+ z7&kJ7qJnVU+>nVVh{t!s-YprG99PXXG8(R!btfm6eshHaWt6dPYpv$`9No+;vmo(n z!p2wTTDhhmx?(x$N=3pWSMh`!L{g9~*B#~)XpmY3C--1#jnySp+^1ep=&^hUcDo4P zYgqQCg06a-#Y3)|V6nw5y>!`Dy-{%r7K!dq$!|%i(!0HPHrKcM=i-jYR~`>}n7;Ng zcIobxm=tVsq(e=gh@}j;}UMW`{ zsgj$?X7%(;acUuxql-x+S4;{u(IbochH01Xn0EZq<;#hdy4>Gtp2z91s}^;qT;1#p zCakCPnaOnirv8#~Q;!QoiAX{>axZ3b#!#kOt&NZFfHZVjA2%k_Gufg(b~T+Z7{#H6 zbNhJ($9A9m)@ju6Wjs{z6%B9VEfsHT_$t0elkxo2w8xVm$|Ff~qyQ|Pd))L)t~jMj zaa^#G+)6pgyb}6sIy++&;v-4^OKA8yzM-nvNCqa~;MSzJu>-_#VEm;Rgc$@!cu6kClcW;zufe ztl=m4sfM57=Nf*2UuyUjey!m*;_+L&tKvPO@H-8^#~(EO5r5*~+67xdVs|KZ;9hf; zr?@>erJk<1kwmZtJxU(dFNA%{_$B$uC#817`|1Zvy1M@3uM8UsAJoLpnI zYL(D9Y84#WI-w$PdxK}(EzWi^6Z9r~YxpR*xW~}-2BNUuYuF!c;oY^XK(!uNrG~?! z&f9Qaj6ciSO0+kgai>-1#Uw_vN~O_FVHAvK5hxej~cZge8nTM;WZkUyZHFcZR^SbFsQ*6_7 zkO_&)sHfAR+!F+JG2j+UXFD~#+q=`DCvsVHFTXue(rr|**t#M`RxZnX>WiyWR#s-^ zD)z)jJ3|X0a|zLHT3ol=l98Jt8Na#AM7PCokJDgc9;b1ZKkIne^EaN#Hzz-z=lPZ5 zo5KsibMHg>D;GW_`3y;6H!g6kxe9oi%3{o2q_IyL-{(6(*{PT>`vLqn-$!6F`3S+7 zuZfTkxeHCG3g+5wdl97iLH?xdLlj4G1jld^CuEp&t}8E$AII@=Tw=H=4)J&CGYoYE zVO++uw0@3W0^EC^|6gdqd5b#2e}62Tjde|Wh;kPMqOe3X5alxQ)3)g86SBS_5h|ouiUWw38yDo_^unplLu24&`{ZB?w`5uWy1_B z6E(c*hV_yl01QcT#cEh4Ayy;!Bmo96C{qm3<0Y9`kbe7RVxet`r7`Ly_71HCjmg-) z+*V%XTI99Q&5KzEPBpPVfWF|)EZh=2$Jj5h+XmPegQWioDI4x6L9&HDi7||`^nNz7 zXc9lIbcr-T+n7We+=kS^1hrTKWsYxAf`=YVHf}c?_rPTAVD3EeHW5=G`h?Bf_`(I^WkskdxWD>aIA^rK0Lw+`E}C!IwimKCQb|GCm!L+ zq$p#*4|DH*_-^tqgd&OuroErfQ5JLz2VkIwkWaF3alFJ7v!rB_&m874g*%w$-$vK* zI`Vh}#a4+2@go0Sm8E#-(G|w4k{Vt_xQ`63v1C1Pq*p&9l<9Sn7~)u<_bGP!G;xSS z@9JNtex8z(@O?<7kczV^{3;46iYjJQ{-uWh;8q9SbJX_X20h$toz3>BIJ13JoO$f1 bxWQ`8a|FE1!+(nqUXiK(zoTMa0(<#?hy`rH 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..88c78f822823058a0aa2b13e636c7989b7c03530 GIT binary patch literal 2021 zcmah~ZByGu5Pl8}GQtGvB;YosfiyG*8Vf>5c?krUmq2Tq7lD~+KXil;AV-#{B$MVB z`D-)N(oARCACMo__Bq+D<*8{$quafm=XUp=-Mf4L$FIKwn8R@&`tXGc1q(?ms_4Oz zf@LY6D_BvniWdsjlE^3VWfJQuHn6E+OT{g`RIsgLNXi`*X(_)_aYxFpRSZj6P?5n) zf$pP&ff+^}poHA^6Qq;DRS^2JT6dwE?y-aXh5 zP)*NuEi<$|SKw~LPw>5?adFcuU7cHD%OEh4oxA~=SocmDYp`IuR;gA!vHU~h#Gxf! z@Jz!g8@?^)O=BXwumge7LZzyOM(|2AJ>SwQrzfUX3vEX`;vmBZ?cp=oj?pK}0=>^| z*A7=nOjb?>BR`0dv(sS2HspRce=w~}sW8Oj7|6HI95SNqxL3?s0uBwI48-x{F?`9> zYvx7K3NO6VIHoPI<5=g0lQ&H(2yOzcJ4O(cyl~5_xow`*@WS_AOXA4ZNNe-@ej)B_ zKo1S`RnfR?(yQuT%{Q$rTNa>Cl9`izlEQtAr7(qQfsE-@bJaJjc+RZkB=flq-@dZ^ z6pARZkgdjwvP)qXdjdl(^X^H7WGUEB;Q+e8z5l4Cz^n|h6a`$;G)MNtg%^ZNb8|D# zwCbDFlh6vn7q!6B^}@=T;RMXQ$M?K&mR&phWbWzwcX>m>VG83o5*Tac(YdrKl;t+3 zTe$zNuE6~kx?^qI<94iU8>DkxdEBBn^0dVZDWIHre#xkE>l4jRkDu)3(ThxxXSVM! z+jGM*9mBUyqhs&a%+T`%=Ca?$I<*0hJNTQ8*dn?cZ4uA`AkgnxuN!=uO!84%j7C2! z$AdIYO!J=&H=3+yxW>7~G>aYf8OytQr~TV<(={}B$xASdj>DmEm=?RGk2f)pz(@S< zLEvM~x}b748k_fX{z+_}B8I1h*lw;F#{-U^a;8xV%ATp8AbzCMg@+t_BjasMP){`g z_zaIY6Ubtcqg=d7beBX=P5%t>mRe)A8d*p9L}Vfl!wpo^gY+&_k%4)38@@z^Tav!Y zQ@@}q-Te-U?%&XJja~}n8p-3Sw3_Zur`}7a*eN&l-qojq}*fX-4PSt&;pW~Aki68Ji&~! z%zu(QcuakUWX_V#dFl&fWs$2^sIL*3=Z-h2ZJOp($v{G3n{c?r7j}q$n*SaC P!~8P|u9_#d3(x)nZ5Qs6 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: Wed, 17 Mar 2021 15:30:26 +0300 Subject: [PATCH 2/8] removed unnecessary comments --- src/main/java/jm/task/core/jdbc/Main.java | 118 +----------------- .../classes/jm/task/core/jdbc/util/Util.class | Bin 2021 -> 1641 bytes 2 files changed, 2 insertions(+), 116 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index 16b32821..04c738bc 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -10,140 +10,26 @@ import java.sql.*; public class Main { -/* мои заметки - private static final String URL = "jdbc:mysql://localhost:3306/mydbtest?useSSL=false"; - private static final String USERNAME = "root1"; - private static final String PASSWORD = "12345_Aa"; -*/ - // private static Connection connection; + private static final String INSERT_NEW = "INSERT INTO users VALUES(?,?,?,?)"; public static void main(String[] args) { // реализуйте алгоритм здесь final UserService userService = new UserServiceImpl(); -// -//// userService.dropUsersTable(); + try { userService.createUsersTable(); userService.saveUser("Stive2", "Libovski", (byte) 43); userService.saveUser("Stive3", "Libovski", (byte) 43); userService.saveUser("Stive4", "Libovski", (byte) 43); -//// userService.removeUserById(5); -// -//// System.out.println(userService.getAllUsers().toString()); -// userService.cleanUsersTable(); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } -/* -//Добавить пользователя по id - PreparedStatement preparedStatement = null; - - Util worker = new Util(); - - try { - preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); - preparedStatement.setLong(1, 4L); - preparedStatement.setString(2, "newName"); - preparedStatement.setString(3, "newLastName"); - preparedStatement.setByte(4, (byte) 22); - - preparedStatement.execute(); - - - } catch (SQLException e) { - e.printStackTrace(); - } -*/ - - -/* Util worker = new Util(); - - String query = "SELECT * FROM users"; - try { - Statement statement = worker.getConnection().createStatement(); - ResultSet resultSet = statement.executeQuery(query); - - while (resultSet.next()) { - User user = new User(); - user.setId(resultSet.getLong("id")); - user.setName(resultSet.getString("name")); - user.setLastName(resultSet.getString("lastName")); - user.setAge(resultSet.getByte("age")); - System.out.println(user.toString()); - } - - } catch (SQLException throwables) { - throwables.printStackTrace(); - }*/ - -/* мои заметки -// statement.addBatch();//Пакетная обработка -// -// statement.addBatch("INSERT INTO users (name,lastName,age) VALUES('Stive','Lebovski',35)"); -// statement.addBatch("INSERT INTO users (name,lastName,age) VALUES('Ivan','Ivanov',25)"); -// statement.addBatch("INSERT INTO users (name,lastName,age) VALUES('Alex','Semenov',56)"); -// -// -// statement.executeBatch(); -// -// statement.clearBatch(); //Стирает старые запросы из Batch - - - - try { -// Driver driver = new FabricMySQLDriver(); -// DriverManager.registerDriver(driver); - Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance(); - } catch (ClassNotFoundException | NoSuchMethodException throwables) { - throwables.printStackTrace(); - System.err.println("Неудалось загрузить класс драйвера!"); - } catch (IllegalAccessException | InvocationTargetException | InstantiationException e) { - e.printStackTrace(); - } - - try(Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); - Statement statement = connection.createStatement()) { - if (!connection.isClosed()) { - System.out.println("Соединение с БД Установлено!"); - } - -// statement.execute("INSERT INTO users (name,age,email) VALUES('Stive1',56,'stive1@devcolibri.com')"); //вставить в бд - -// int res = statement.executeUpdate("UPDATE users SET name = 'Alex2', age = 55 WHERE id =9");//Обновить данные в БД. Вернуть id записи -// System.out.println(res); - -// ResultSet res = statement.executeQuery("SELECT * FROM users");// Возвращает resultSet - -// statement.addBatch();//Пакетная обработка -*/ -/* statement.addBatch("INSERT INTO users (name,age,email) VALUES('Stive1',56,'stive1@devcolibri.com')"); - statement.addBatch("INSERT INTO users (name,age,email) VALUES('Stive1',56,'stive1@devcolibri.com')"); - statement.addBatch("INSERT INTO users (name,age,email) VALUES('Stive1',56,'stive1@devcolibri.com')"); - - statement.executeBatch(); - - statement.clearBatch(); //Стирает старые запросы из Batch - *//* - - - boolean status = statement.isClosed();//Закрыт ли statement - System.out.println(status); - - statement.getConnection();//Получить соединение с БД -// connection.close();// закрыть connection -// if (connection.isClosed()) { -// System.out.println("Соединение с БД закрыто!"); -// } } catch (SQLException throwables) { throwables.printStackTrace(); } -*/ } } diff --git a/target/classes/jm/task/core/jdbc/util/Util.class b/target/classes/jm/task/core/jdbc/util/Util.class index 88c78f822823058a0aa2b13e636c7989b7c03530..bf92127a287957146d4a9f9841dc6eb76e217780 100644 GIT binary patch delta 595 zcmYk4Pfrt36vcmUW;$;eUu>mPp+H5jKwD{5M8&@#{qgm{ob2iXV81O-AP_~ zRo}9ay!R%fDwB>n^T`KqdgV5E48@^xW6;~#aopvep)^cCe%gQj?6u{-;{gwo18+Ng zV?JiBPAZ03vdoOm?w^2D%!(Q2IIUPCnGGxJsW?_|ki9s-lSgx|M$`6>2 zNRZB!msv?l+@f7J0*>Ktsz7Tq@YUsQ{wN6f-F z5(?4c{$6tLRqc5tSu7{Z4|j^m#p>>1scK;r_Y~Uyo%HeKLdB`oEUY1~5c!!xKg$-;f^tyej*PS+UEn5}_P;g%xLjeohNVrYo-G>98qZ&Qvg~B;1Z$P65eJAWw zw9lWgE&A}l^z|`j0E3)|XiX9oF);oS>OF~pVa_eyVh2XZtz!pVz$h(+IL0^+!OaIE z8FAJO0=oIiQ7<6k*)4wqB$-r}I#kOGg(}1Ed2PGRz-S|7CqALQiMZgICSrmeO+*E| zng|JYHxU#(d&G=>R*JK21XFAq!5OxVV47_sm}T1t=6NokcdZ9p0hRGnwJ7x(;d$cd zZ}3JjOwdSCnkkAiO+Ldr&N6JCJWbaOFSJCSr4BiUt&-;%xz1}9D5PkWW$TYI{Y7R| z%p@#HHtR7FJL9nwS Date: Wed, 17 Mar 2021 15:37:30 +0300 Subject: [PATCH 3/8] removed unnecessary comments --- src/main/java/jm/task/core/jdbc/Main.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index 04c738bc..7a434b30 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -12,7 +12,6 @@ public class Main { - private static final String INSERT_NEW = "INSERT INTO users VALUES(?,?,?,?)"; @@ -23,9 +22,9 @@ public static void main(String[] args) { try { userService.createUsersTable(); - userService.saveUser("Stive2", "Libovski", (byte) 43); - userService.saveUser("Stive3", "Libovski", (byte) 43); - userService.saveUser("Stive4", "Libovski", (byte) 43); + userService.saveUser("Stive2", "Libovski", (byte) 43); + userService.saveUser("Stive3", "Libovski", (byte) 43); + userService.saveUser("Stive4", "Libovski", (byte) 43); } catch (SQLException throwables) { throwables.printStackTrace(); From 88d6d6d7998f2291357b3bd0ba3615aca612ef88 Mon Sep 17 00:00:00 2001 From: mr-nicko89 Date: Wed, 17 Mar 2021 17:17:55 +0300 Subject: [PATCH 4/8] =?UTF-8?q?=D0=A4=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0=D0=BB=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20?= =?UTF-8?q?=D1=81=20=D0=91=D0=94=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D1=81=D0=B5=D0=BD=20=D0=B2=20dao.=20=D0=A0=D0=B5=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=BD=D0=B5=D0=BE=D0=B1?= =?UTF-8?q?=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D1=8B=D0=B9=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8E=20=D1=84=D1=83=D0=BD?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB=20=D0=B2=20main.=20?= =?UTF-8?q?=D0=A3=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20SQL=20?= =?UTF-8?q?Dialect=20=3D=20MySQL.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/sqldialects.xml | 2 +- src/main/java/jm/task/core/jdbc/Main.java | 12 ++- .../java/jm/task/core/jdbc/dao/UserDao.java | 13 +-- .../core/jdbc/service/UserServiceImpl.java | 81 +++--------------- src/test/resources/test.sql | 6 -- target/classes/jm/task/core/jdbc/Main.class | Bin 1046 -> 1583 bytes .../jm/task/core/jdbc/dao/UserDao.class | Bin 411 -> 511 bytes .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 1036 -> 4200 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 3821 -> 1493 bytes target/test-classes/test.sql | 6 -- 10 files changed, 30 insertions(+), 90 deletions(-) delete mode 100644 src/test/resources/test.sql delete mode 100644 target/test-classes/test.sql diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml index 678b00a7..4a1875f4 100644 --- a/.idea/sqldialects.xml +++ b/.idea/sqldialects.xml @@ -1,6 +1,6 @@ - + \ 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 7a434b30..cca96026 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -22,9 +22,15 @@ public static void main(String[] args) { try { userService.createUsersTable(); - userService.saveUser("Stive2", "Libovski", (byte) 43); - userService.saveUser("Stive3", "Libovski", (byte) 43); - userService.saveUser("Stive4", "Libovski", (byte) 43); + userService.saveUser("Stive1", "Libovski", (byte) 43); + userService.saveUser("Stive2", "Libovski", (byte) 44); + userService.saveUser("Stive3", "Libovski", (byte) 45); + userService.saveUser("Stive4", "Libovski", (byte) 46); + + System.out.println("Вывод все пользователей в консоль \n "+ userService.getAllUsers().toString()); + + userService.cleanUsersTable(); + userService.dropUsersTable(); } catch (SQLException throwables) { throwables.printStackTrace(); diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDao.java b/src/main/java/jm/task/core/jdbc/dao/UserDao.java index 27069baf..ebb05fab 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDao.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDao.java @@ -2,18 +2,19 @@ import jm.task.core.jdbc.model.User; +import java.sql.SQLException; import java.util.List; public interface UserDao { - void createUsersTable(); + void createUsersTable() throws SQLException; - void dropUsersTable(); + void dropUsersTable() throws SQLException; - void saveUser(String name, String lastName, byte age); + void saveUser(String name, String lastName, byte age) throws SQLException; - void removeUserById(long id); + void removeUserById(long id) throws SQLException; - List getAllUsers(); + List getAllUsers() throws SQLException; - void cleanUsersTable(); + void cleanUsersTable() throws SQLException; } diff --git a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java index d0734a29..1f2d7a87 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -1,94 +1,39 @@ package jm.task.core.jdbc.service; +import jm.task.core.jdbc.dao.UserDaoJDBCImpl; import jm.task.core.jdbc.model.User; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.Statement; -import java.util.ArrayList; import java.util.List; -import jm.task.core.jdbc.util.Util; - public class UserServiceImpl implements UserService { public void createUsersTable() throws SQLException { - final String INSERT_NEW = "CREATE TABLE IF NOT EXISTS `users` (\n" + - " `id` bigint NOT NULL AUTO_INCREMENT,\n" + - " `name` varchar(255) NOT NULL,\n" + - " `lastName` varchar(255) NOT NULL,\n" + - " `age` tinyint NOT NULL,\n" + - " PRIMARY KEY (`id`)\n" + - ") ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8"; - - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); - preparedStatement.execute(); - + UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + userDaoJDBC.createUsersTable(); } public void dropUsersTable() throws SQLException { - final String INSERT_NEW = "DROP TABLE IF EXISTS users"; - final String INSERT_USERTABLE_EXIST = ""; - - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); - preparedStatement.execute(); - + UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + userDaoJDBC.dropUsersTable(); } public void saveUser(String name, String lastName, byte age) throws SQLException { - final String INSERT_NEW = "INSERT INTO users(name,lastName,age) VALUES(?,?,?)"; -// INSERT INTO users (name,lastName,age) VALUES('Ivan','Ivanov',25) - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); - - preparedStatement.setString(1, name); - preparedStatement.setString(2, lastName); - preparedStatement.setByte(3, age); - - preparedStatement.execute(); + UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + userDaoJDBC.saveUser(name, lastName, age); } public void removeUserById(long id) throws SQLException { - final String INSERT_NEW = "DELETE FROM users WHERE id =?"; - - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); - preparedStatement.setLong(1, id); - preparedStatement.execute(); - + UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + userDaoJDBC.removeUserById(id); } public List getAllUsers() throws SQLException { - - Util worker = new Util(); - List users = new ArrayList<>(); - - String query = "SELECT * FROM users"; - Statement statement = worker.getConnection().createStatement(); - - ResultSet resultSet = statement.executeQuery(query); - - - while (resultSet.next()) { - User user = new User(); - user.setId(resultSet.getLong("id")); - user.setName(resultSet.getString("name")); - user.setLastName(resultSet.getString("lastName")); - user.setAge(resultSet.getByte("age")); - users.add(user); - } - - return users; + UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + return userDaoJDBC.getAllUsers(); } public void cleanUsersTable() throws SQLException { - final String INSERT_NEW = "DELETE FROM users"; - - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); - preparedStatement.execute(); + UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + userDaoJDBC.cleanUsersTable(); } } diff --git a/src/test/resources/test.sql b/src/test/resources/test.sql deleted file mode 100644 index 303239d2..00000000 --- a/src/test/resources/test.sql +++ /dev/null @@ -1,6 +0,0 @@ -insert into users (name,age,email) values('Stive',55,'stive@devcolibri.com'); -#select * from users; -#select * from users where name = 'Steve'; -#update users set name = 'Steve', age = 55 where id =1; -#delete from users; -#delete from users where name = 'Stive' ; diff --git a/target/classes/jm/task/core/jdbc/Main.class b/target/classes/jm/task/core/jdbc/Main.class index 88aa1527544adafcc4d53826894962bf00188ac1..7edc5fe0f30a7f46b1bd60b39d3abcc32a56944b 100644 GIT binary patch literal 1583 zcmZuxTX)+;5dPM7EyYnTIJa`G0<^Jn6Lm_tw4@}#g;2$5E62S;k1X#=70Z&5WCM@z z3QznAUTF?>PMSk`=SlfPz^v??rnQfbc4lX0XTNWDXaD*4*>eCZ_%?&rQIN2bK>~$g zXt*TfLm8Ka`jL!}Wqcyz(;-~JRSBPEpr9aQRmf{1!a>lsYr zO9@{|*ks6TmW<-<@}pAm4ntPoGux)-nC`A-gudCiE-$qjRqmI~sza8n?pdZ&F@0Oid&X4w*bW%Z>U#|>G=sWk zc|OycybFoW}Hb zDPUqi7KY(gza{}Sy-&!a!pX#e=9=&2h0O|zrpU!wz(`_UiAKSxiaBl-_1 zLXDo0^)CvHW7LeQ;5G~eW$Y-Z;Esg53hv>)f(JOK;Guv%6>tCQX(;$cIH&syA!@}i z{sQ!Nb&p#i!)*6rs+*_dAQ~{F=T3_Traj2+K#5%K}aET=yjWvVe-WPa_dgSWqlbGgVYod9V+|O zAW%ee%yPKto-WsD&G(w84P$YVxEad6X>rWrEWJ4Z!yELyN%Ae4CGa-=O!NVbDp@p= zjO3a51F$D?$SjTN*r?!L(v@xi-oyJe8^U>9Ad5=5lSm;+w(tmvdk0AB3x`NCEM(7Q z)8nK|Dbi)q7kl~;=}SF5L;7;8?_>A~3MClHj&?9c3&$Bcc#ZT9vK>s2Ws=e!Vv6B+ z$XkmY%se3sGU{;Y`AiaB;4(&NoFwZEMv1&2eu1bLi25o~engl>Vd})dB{m-M2{0FP wR4Io?Z03-o0udwRF;7y4g9R+oUQ0BaK;l1Invk$8iONZsPLb;aawTx_e>m`!uK)l5 delta 453 zcmXw$O->s@5QV=U8+Usc0$KV%(SF;I-3p__rQNU>2IR;a%JFKd zSl>K2-VdlJjZCu}_1aZ~`yTBa^-lMqfG;%u4`letsK@u-Sn4bJ_`&50V effr~h+#CjFKA@3I4E#U?1yBtHY7_*^2>}4c78Pay delta 107 zcmXYnyA?n{6a{BLcKt0vnHGe4(3@BlQh@>#g=ddw&Ye4t*-W_Z;{+ypPwVN{FzoZF k7N<~XdB9nP!GbXP>F{x%#5B=_7wkL;LI3~& diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class index 69ccaa66e2f78129a89807f9bc0641f29faf4e2a..f69c021b128db0f70b9b7b2499581c54a0b4fabe 100644 GIT binary patch literal 4200 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 diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class index 03ae0e4739c50537df41c3239894043d937777b8..e8353d35f4ddf6f508ed27c4596ca4802a249cbd 100644 GIT binary patch literal 1493 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 bxWQ`8a|FE1!+(nqUXiK(zoTMa0(<#?hy`rH diff --git a/target/test-classes/test.sql b/target/test-classes/test.sql deleted file mode 100644 index 303239d2..00000000 --- a/target/test-classes/test.sql +++ /dev/null @@ -1,6 +0,0 @@ -insert into users (name,age,email) values('Stive',55,'stive@devcolibri.com'); -#select * from users; -#select * from users where name = 'Steve'; -#update users set name = 'Steve', age = 55 where id =1; -#delete from users; -#delete from users where name = 'Stive' ; From b771f8aed0c1add8a7d4d43dfda7d461a590c647 Mon Sep 17 00:00:00 2001 From: mr-nicko89 Date: Wed, 17 Mar 2021 17:38:15 +0300 Subject: [PATCH 5/8] =?UTF-8?q?=D0=A4=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0=D0=BB=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20?= =?UTF-8?q?=D1=81=20=D0=91=D0=94=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D1=81=D0=B5=D0=BD=20=D0=B2=20dao.=20=D0=A0=D0=B5=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=BD=D0=B5=D0=BE=D0=B1?= =?UTF-8?q?=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D1=8B=D0=B9=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8E=20=D1=84=D1=83=D0=BD?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB=20=D0=B2=20main.=20?= =?UTF-8?q?=D0=A3=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20SQL=20?= =?UTF-8?q?Dialect=20=3D=20MySQL.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 73 +++++++++++++++++-- 1 file changed, 65 insertions(+), 8 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java index a6c6c359..76c56c69 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,92 @@ package jm.task.core.jdbc.dao; import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.util.Util; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; import java.util.List; public class UserDaoJDBCImpl implements UserDao { public UserDaoJDBCImpl() { - } - public void createUsersTable() { + public void createUsersTable() throws SQLException { + final String INSERT_NEW = "CREATE TABLE IF NOT EXISTS `users` (\n" + + " `id` bigint NOT NULL AUTO_INCREMENT,\n" + + " `name` varchar(255) NOT NULL,\n" + + " `lastName` varchar(255) NOT NULL,\n" + + " `age` tinyint NOT NULL,\n" + + " PRIMARY KEY (`id`)\n" + + ") ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8"; + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement.execute(); + preparedStatement.close(); } - public void dropUsersTable() { + public void dropUsersTable() throws SQLException { + final String INSERT_NEW = "DROP TABLE IF EXISTS users"; + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement.execute(); + preparedStatement.close(); } - public void saveUser(String name, String lastName, byte age) { + public void saveUser(String name, String lastName, byte age) throws SQLException { + final String INSERT_NEW = "INSERT INTO users(name,lastName,age) VALUES(?,?,?)"; + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + + preparedStatement.setString(1, name); + preparedStatement.setString(2, lastName); + preparedStatement.setByte(3, age); + preparedStatement.execute(); + preparedStatement.close(); + System.out.println( "User с именем – " + name + " добавлен в базу данных"); } - public void removeUserById(long id) { + public void removeUserById(long id) throws SQLException { + final String INSERT_NEW = "DELETE FROM users WHERE id =?"; + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement.setLong(1, id); + preparedStatement.execute(); + preparedStatement.close(); } - public List getAllUsers() { - return null; + public List getAllUsers() throws SQLException { + + Util worker = new Util(); + List users = new ArrayList<>(); + + String query = "SELECT * FROM users"; + Statement statement = worker.getConnection().createStatement(); + ResultSet resultSet = statement.executeQuery(query); + while (resultSet.next()) { + User user = new User(); + user.setId(resultSet.getLong("id")); + user.setName(resultSet.getString("name")); + user.setLastName(resultSet.getString("lastName")); + user.setAge(resultSet.getByte("age")); + users.add(user); + } + statement.close(); + return users; } - public void cleanUsersTable() { + public void cleanUsersTable() throws SQLException { + final String INSERT_NEW = "DELETE FROM users"; + Util worker = new Util(); + PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement.execute(); } } From 456c27c43ce240bb59a1f02b04555bba03ff5552 Mon Sep 17 00:00:00 2001 From: mr-nicko89 Date: Wed, 17 Mar 2021 18:17:51 +0300 Subject: [PATCH 6/8] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=B5=D1=81=20=20=20=20?= =?UTF-8?q?=20Util=20worker=20=3D=20new=20Util();=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20PreparedStatement=20preparedStatement=20=D0=BA=D0=B0?= =?UTF-8?q?=D0=BA=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=BB=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java index 76c56c69..664653b6 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -11,8 +11,10 @@ import java.util.List; public class UserDaoJDBCImpl implements UserDao { + Util worker = new Util(); + PreparedStatement preparedStatement; public UserDaoJDBCImpl() { - } + } public void createUsersTable() throws SQLException { final String INSERT_NEW = "CREATE TABLE IF NOT EXISTS `users` (\n" + @@ -23,8 +25,7 @@ public void createUsersTable() throws SQLException { " PRIMARY KEY (`id`)\n" + ") ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8"; - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); preparedStatement.execute(); preparedStatement.close(); } @@ -32,16 +33,15 @@ public void createUsersTable() throws SQLException { public void dropUsersTable() throws SQLException { final String INSERT_NEW = "DROP TABLE IF EXISTS users"; - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); preparedStatement.execute(); preparedStatement.close(); } public void saveUser(String name, String lastName, byte age) throws SQLException { final String INSERT_NEW = "INSERT INTO users(name,lastName,age) VALUES(?,?,?)"; - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + + preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); preparedStatement.setString(1, name); preparedStatement.setString(2, lastName); @@ -55,8 +55,7 @@ public void saveUser(String name, String lastName, byte age) throws SQLException public void removeUserById(long id) throws SQLException { final String INSERT_NEW = "DELETE FROM users WHERE id =?"; - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); preparedStatement.setLong(1, id); preparedStatement.execute(); preparedStatement.close(); @@ -64,7 +63,6 @@ public void removeUserById(long id) throws SQLException { public List getAllUsers() throws SQLException { - Util worker = new Util(); List users = new ArrayList<>(); String query = "SELECT * FROM users"; @@ -85,8 +83,7 @@ public List getAllUsers() throws SQLException { public void cleanUsersTable() throws SQLException { final String INSERT_NEW = "DELETE FROM users"; - Util worker = new Util(); - PreparedStatement preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); preparedStatement.execute(); } } From 9ba2053007346a66ec1c91d7e201acfbc41ed9e5 Mon Sep 17 00:00:00 2001 From: mr-nicko89 Date: Thu, 18 Mar 2021 10:23:53 +0300 Subject: [PATCH 7/8] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=B5=D1=81=20=20=20=20?= =?UTF-8?q?=20Util=20worker=20=3D=20new=20Util();=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20PreparedStatement=20preparedStatement=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20UserDaoJDBCImpl=20userDaoJDBC=20=3D=20new=20U?= =?UTF-8?q?serDaoJDBCImpl();=20=D0=BA=D0=B0=D0=BA=20=D0=BE=D1=82=D0=B4?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=8F?= =?UTF-8?q?.=20=D0=B2=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=D1=85=20UserS?= =?UTF-8?q?erviceImpl=20UserDaoJDBCImpl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 3 ++- .../core/jdbc/service/UserServiceImpl.java | 9 +++------ .../java/jm/task/core/jdbc/util/Util.java | 6 +++--- .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 4200 -> 4134 bytes 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java index 664653b6..f0ff1aca 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -14,7 +14,7 @@ public class UserDaoJDBCImpl implements UserDao { Util worker = new Util(); PreparedStatement preparedStatement; public UserDaoJDBCImpl() { - } + } public void createUsersTable() throws SQLException { final String INSERT_NEW = "CREATE TABLE IF NOT EXISTS `users` (\n" + @@ -85,5 +85,6 @@ public void cleanUsersTable() throws SQLException { preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); preparedStatement.execute(); + preparedStatement.close(); } } 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 1f2d7a87..25311f1c 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -2,38 +2,35 @@ import jm.task.core.jdbc.dao.UserDaoJDBCImpl; import jm.task.core.jdbc.model.User; + import java.sql.SQLException; import java.util.List; public class UserServiceImpl implements UserService { + UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + public void createUsersTable() throws SQLException { - UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); userDaoJDBC.createUsersTable(); } public void dropUsersTable() throws SQLException { - UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); userDaoJDBC.dropUsersTable(); } public void saveUser(String name, String lastName, byte age) throws SQLException { - UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); userDaoJDBC.saveUser(name, lastName, age); } public void removeUserById(long id) throws SQLException { - UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); userDaoJDBC.removeUserById(id); } public List getAllUsers() throws SQLException { - UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); return userDaoJDBC.getAllUsers(); } public void cleanUsersTable() throws SQLException { - UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); userDaoJDBC.cleanUsersTable(); } } diff --git a/src/main/java/jm/task/core/jdbc/util/Util.java b/src/main/java/jm/task/core/jdbc/util/Util.java index 68345d0c..659e282d 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -19,9 +19,9 @@ public Connection getConnection() { return connection; } - public void setConnection(Connection connection) { - this.connection = connection; - } +// public void setConnection(Connection connection) { +// this.connection = connection; +// } public Util(){ try { diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class index f69c021b128db0f70b9b7b2499581c54a0b4fabe..bb6eaf75c2ffefa8f7bd218595bbd4fde832a205 100644 GIT binary patch delta 1754 zcmb7^*>@CG5XOH!(=*+fX+jv5BtTZ#G6`fAF(@h;A(8}CNQerE5F}y%0Tl!pRE)Tb zqbTlz26qV|gF_TI+|V~4Ill8B_`o^hcYAV@z&W0S4}H6;Zr!?HeN}bO755Y;&ir%o z6i~|_5o%cHaBqYF>$0e3y-TN2?u)X4`;Db5%0@PsWwXlzE?bPa)hyexc#wx29*&U1 zI+yL{zr*Db^WPa^7mvE^Hl7KGJrVMa(_>NAZs74Kt9T;H-RyOEGD4BrYBqXzgs0eN zEKj>EFqUVG@~q23^MB5z(HNhP@B%Ly%S%yKu;0WJzLy=64zD=8n%rfr+<*3PcBEnZ znvTueIyY_H>Tsa%oOQs8yyoz_!$F5PlKX-?f^)b!dEPD#)^TOhw*M~jc$2pr-u8Hh zcRglvmBV`;?{moGuzYJn%f^1dhaNo~arnsNV?MFSP5$NPCXa;*gP-zQ^3PCZ^mD#& z_|oGjy~$DG(%>=rk~QI3qmI+>k>Z5MR~$-qg-d3qIq5Lq@ipIgoZ?%L@A%&12YNkz zG|Opza`@Re{NnK|zj>VD_rBBNC3d1(CA3t_fGVmCv|=D@b!1m=TI;3FCnyPW;wP}; z0|eSn5bVe9l`X(rt=aO>KDMOMjNuw-UgiwfGEbVtb&418<8{efcP1!{g_`2=jxlpP${WOEl?xkYPm&iv0jZ~$gRtu93)qGS>Tgvq=k}96Lr$4GeO1c@Ts>iqJ9xg zgALFv4_o!8E|%LelymMyITxkLv;CYe$!-Wg6AA0mIl8c3RhUb$fW`%|Rvl*`7i-4= z&vc-XnrTrF1obwlGfe$Qw#H(X_@S^G^*5or2gnzV6Psd_ng`o7&18#~nJPnpn%T~` z(-c}9q;-HIxfa)l@4QtZ)Xv!MfDbC zyHok@W-)t}nqg#~(yEjHt=vXP{L?*1j$T_GTq<&+I<(BMXP%zlR@%fxiR!tWc7eD< zXUt${{O^=>mn@SAT#!@9q1s`E!%Bx$j-Fc1YkQdD)p8ARj}EOdQ<&-h!N)*TST#I_ kRU=#BKkJ`)3ziCCtLopTDO|28Z1*$0jJLpLtq-WCnLc0K(fMy8-Y9(NqC4?4|<%Ff(jLK7% zm39@oSt>O&Qg*jizo36mpIWQF^r5w~XYUy&XRZ3uhqL!S`@HAf&-*;jey56mDUSa5 z*V%Ib8u5dJ%Q0wUNMNf29fNYX!^NH0=Hf1Fm&4sQ?y<2$E{EkXl7V|MDzMW*mi%{@ zobR)7znsS$?8dl_2V~?Pfd?Jr$e@R0&b=-+A?l)UGaeS0a8MvWt#+{)`y4!iN9E3b z8?AEZfP8t(Mw^@;x6v*)pK$Obo{~EUUG(E=nUMG<1)dRjR^T~*xpv&O#)e0?4~=Rl z=e@GwK8_?)4G5+wgjN(Nv z;w6D29$v;P0Usg zck!OU`yM{PNx#G@)jz~Xew$U7c?zdJoWZn*k8#YOuu7UfK}=xA!>5RQIEz^ipW$;4 z=Wx=)7jpO#UkQ9I1HSR_Exz+`9^X&@WUV!#^^{M;5^59kbATXJB-OV=#k(IIIA=YU27rb?$fNlAD5PBF9Oa4CiLA*Jb(A84W}fUa{%TyqQ*(%~1+5VyOz&&|AH)|Bbo*+<5FnR zbRtF)TEq;Qk~c?zi&!DcsENbX5wgs1a$yz3;mI9EYLA>r>KSCtB8$w=3C@jSUJajM zkV6dFG0az#N0qA8)HT6u4KfiX>vgQE9m2|^0CnP#j`bTNu|M%%(!syCU0OyB2_{Y9O@P#4K3zFZ9v)wHm^w2+2@7xA4}2cC%@?xl}3}(RNyRC8{V$1KDp@)pwu|o$R(<7{?my z!&>aeO*n{kDe;>r?i%h(jV6=a**Kth(wKTLWZx+Y z)}{BIy0pukY&cAbg~|fm6mJ9XbuaIAA2IZ+ViVn_DAjH9Q{85Ms@vGg6zSb&i$XT= EH_w3w8UO$Q From a6380791ed03f4304c02b0e4fd9babe6887ff2e4 Mon Sep 17 00:00:00 2001 From: mr-nicko89 Date: Thu, 18 Mar 2021 11:08:58 +0300 Subject: [PATCH 8/8] =?UTF-8?q?=D0=92=20UserServiceImpl=20=D0=B8=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB=20=D1=82=D0=B8=D0=BF=20userDaoJD?= =?UTF-8?q?BC=20=D0=BD=D0=B0=20UserDao=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D0=B8=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=B8=D0=BC=D0=BE=D1=80=D1=84=D0=B8=D0=B7=D0=BC=D0=B0.=20?= =?UTF-8?q?=D0=92=20UserDaoJDBCImpl=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=BF=D0=BE=D0=BB=D0=B5=20PreparedStatement=20prepare?= =?UTF-8?q?dStatement=20=D0=B8=20Statement=20statement.=20=D0=92=D1=8B?= =?UTF-8?q?=D0=BD=D0=B5=D1=81=20connection.prepareStatement(sql)=20=D0=B2?= =?UTF-8?q?=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20getPrepareStatement.=20=D0=92?= =?UTF-8?q?=D1=8B=D0=BD=D0=B5=D1=81=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=BD=D0=B5=20executeQuery(sql)=20=D0=B2=20=D0=BE?= =?UTF-8?q?=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D0=BE=D0=B4=20returnResultSet.=20=D0=A1=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BB=20=D0=B2=D1=81=D0=B5=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8F=20private.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 40 +++++++++++------- .../core/jdbc/service/UserServiceImpl.java | 3 +- .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 4134 -> 4397 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 1493 -> 1449 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 1641 -> 1522 bytes 5 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java index f0ff1aca..7457ee33 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -3,18 +3,27 @@ import jm.task.core.jdbc.model.User; import jm.task.core.jdbc.util.Util; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; +import java.sql.*; import java.util.ArrayList; import java.util.List; public class UserDaoJDBCImpl implements UserDao { - Util worker = new Util(); - PreparedStatement preparedStatement; + private Util worker = new Util(); + private Connection connection = worker.getConnection(); + private PreparedStatement preparedStatement; + private Statement statement; + public UserDaoJDBCImpl() { - } + } + + private PreparedStatement getPrepareStatement(String sql) throws SQLException { + return connection.prepareStatement(sql); + } + + private ResultSet returnResultSet(String sql) throws SQLException { + statement = connection.createStatement(); + return statement.executeQuery(sql); + } public void createUsersTable() throws SQLException { final String INSERT_NEW = "CREATE TABLE IF NOT EXISTS `users` (\n" + @@ -25,7 +34,7 @@ public void createUsersTable() throws SQLException { " PRIMARY KEY (`id`)\n" + ") ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8"; - preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement = getPrepareStatement(INSERT_NEW); preparedStatement.execute(); preparedStatement.close(); } @@ -33,7 +42,7 @@ public void createUsersTable() throws SQLException { public void dropUsersTable() throws SQLException { final String INSERT_NEW = "DROP TABLE IF EXISTS users"; - preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement = getPrepareStatement(INSERT_NEW); preparedStatement.execute(); preparedStatement.close(); } @@ -41,7 +50,7 @@ public void dropUsersTable() throws SQLException { public void saveUser(String name, String lastName, byte age) throws SQLException { final String INSERT_NEW = "INSERT INTO users(name,lastName,age) VALUES(?,?,?)"; - preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement = getPrepareStatement(INSERT_NEW); preparedStatement.setString(1, name); preparedStatement.setString(2, lastName); @@ -49,25 +58,24 @@ public void saveUser(String name, String lastName, byte age) throws SQLException preparedStatement.execute(); preparedStatement.close(); - System.out.println( "User с именем – " + name + " добавлен в базу данных"); + System.out.println("User с именем – " + name + " добавлен в базу данных"); } public void removeUserById(long id) throws SQLException { final String INSERT_NEW = "DELETE FROM users WHERE id =?"; - preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement = getPrepareStatement(INSERT_NEW); preparedStatement.setLong(1, id); preparedStatement.execute(); preparedStatement.close(); } public List getAllUsers() throws SQLException { - List users = new ArrayList<>(); String query = "SELECT * FROM users"; - Statement statement = worker.getConnection().createStatement(); - ResultSet resultSet = statement.executeQuery(query); + + ResultSet resultSet = returnResultSet(query); while (resultSet.next()) { User user = new User(); user.setId(resultSet.getLong("id")); @@ -83,7 +91,7 @@ public List getAllUsers() throws SQLException { public void cleanUsersTable() throws SQLException { final String INSERT_NEW = "DELETE FROM users"; - preparedStatement = worker.getConnection().prepareStatement(INSERT_NEW); + preparedStatement = getPrepareStatement(INSERT_NEW); preparedStatement.execute(); preparedStatement.close(); } 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 25311f1c..cea6cec4 100644 --- a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java +++ b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java @@ -1,5 +1,6 @@ package jm.task.core.jdbc.service; +import jm.task.core.jdbc.dao.UserDao; import jm.task.core.jdbc.dao.UserDaoJDBCImpl; import jm.task.core.jdbc.model.User; @@ -8,7 +9,7 @@ public class UserServiceImpl implements UserService { - UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + private UserDao userDaoJDBC = new UserDaoJDBCImpl(); public void createUsersTable() throws SQLException { userDaoJDBC.createUsersTable(); diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class index bb6eaf75c2ffefa8f7bd218595bbd4fde832a205..be0c5b7b0eb405c396192010ca95db8f50032514 100644 GIT binary patch delta 2081 zcma)6X>e0j6#j1BOWsTJ3M8d;fkGG7q@`e?3aG4tOQ}#cLAF>QJ1K;e#f6CbzVO^| zUl3G8#L|RNMMXtLal-{?{H?zk{o^=;e&?mOrRa>4$vx-Zd*1oZ`OZ0aPuc#8)QPi4 zjsmE~PXW|ngMp0!c(B2bu}FxvNwj1TE!Zr}7TInMVjFHSabtj+o8;u?AhshV%Pl5$ zn7CEc+hn=jk2`Rufx7}Izy=d{i@e9gy&~@mq;NkTF!7+6K4jqG00xTHBjR~y5NqHV zcr<`YIb0!MCM3vDRlN6iVxzklugD1cg9Tb3AT0C094c6$y2Gqv;B3935h z7f+=#S;f8iEA8Yg=ZrB;*J$OORD<(hQRtnplP!sOqrItRU2=|{bPo8dodc@O`Ca|y z1hnnO9s_#~yz1=KwrP_v+3BU14Z8^AEWC!-EsVzm1N$tzfy*uI$D0-|#Y6)KEWCvV zXSDuD!3?>%7?&70XyI+NS~x^6GraTi+mN=9!C?bg3rEndQ0Sa73!UTMf!aHG*ZI|3 z6FiFd47_jQ0~~Y8eHGe=_{f>=8)?o&gN2XL>g@29*B!?v20pd$8BSRE9A8*Ci7zdD zg<}@JmgO6KYv7a^d}rZ%{9xfnoOVw8GR|&esk6l&tq6CrHzyfO+UxCjQo*vf+D$D< zdv=SR*w$KWPE)Nv`|DL|ESpc^Lg;KcQo)Y&2obJirmiFnlz!TgG_F&)n+=T`&_9xa zinPPCFaxa(dL(iPdK%s~_zt=sPvsh>d!P^3AbP_>2|}306ALNV2QI^O*O&woU;Iy` z^iT%r&lkgJ@3gdS8+RwQrs3voW3kl zra~M1-1rF+=nf)7NJHeIxEoMWCs5IOKnhorpB#`)e&qY|aIiiS2?sN<+K@+_yexVt zEXZlSnSU2e{ov&nrTlUTQHP=s!%&9d-O$TB&^1o$tR879*5rKjK7!uoKhPCYJ<+2? zuO|9PqSp|8)c;0r#GH=YPtk{D5(|gMvmwHvE_j_Rhc!s{-YTl8obD^lB0r~|LyzK= z^=(H1o2y^AFpZ)p|KVaTX_TbVzbpEo>`!@3b-rJ{*w4l6=E3ae8us!y&g>NS@^TKe zwB49obi!qdTLy}`E}5duqb7xmVLlcx5gkihs`YLirEm=vb|kx<7Si2S;Qkn9br50}l1RAo@!P@P4E!Y(wnqjF&?gTdqVV!b*%B#WUQ9LBIT zhRc3L77-89h{}egayQko8JR_mSdL0#G;g!Gz=H*Q|Jo-*ltryVR3=q-C$)}AfsC4* z!yuJm_aOM-pe>b%Q-?ZH<{c!)pLLgx<6D3aW{_UzX9iHQU3q{ delta 1813 zcmb7E`&U#|6#nj=J9F;bxhReZ49a7Ohs^L4GQ+a62uZ*!1hLRehagjnq$J9*GJ0or zdRf`S40~B3GIYi4sg<=_^=thT{nBc+Tr2v{omqgc)mrw$J$LVY_Sxs#-`@KiDI6|{ zpZ({=DFC(j$-*LZ3*2ErN4Fm}=rPf&lsg01g1eMuYXIA@T`hN;xW`1F67N;Z4nO*F zpTPYV($Q^Vr}__=ctHIJEj);aOzcvgae>_yLdxmk05)&IBLQr{qXFE8Jpzwe$X8n} zN*}WDIG#|JCrvae%Tr2u+QbU=f5t?UGCphJIqX%I=L6`%J{6DnUJ#H1FABW0@2{wA z)N17cZJRu)7idBGhm|3>>uK7{@;CiYIj9xNpFMHw6@ga;_6xiw+l&Fv5?n5SF$z3& zxKw6&|IU3KZwMT)@h0A~u^5*Lylvwh9JKK+J&S#7<{rX(HimIn;C&k(;6n{r@>hSB zJmkyse1wnXX~2tE<`)W%Va$Vp$J=NLw1k*G{NjxievjNAAO2jw~uUhLq6z=VyH z_}s=Rd|~5Dd}ZTnjM(@_E#Km_z!~N6osIADgN?KJQI3dldCm;T^=6L@>$O^r?9y^Z ztNo>#JYz=F?AXrOrv4qV)%~%)0l8PN811l{wRjDyudxkuHUksp3Y8;QK|877T2E~` zJd}X+$T+mf1oX~vc*bCi(57Q4*ID%7J`75;F$Y&rvy*3VC6-asa24a}ZoIAZ=AChr z1-;FY$Z;46_<~*sLdO_P8cYX%4IN3z(lC8fCcKQ6!3Ya554miBJS^m@Zp?HuDNEhx zK?$zLHN1H__YD58<#*jQig*$RQ3R$@1pWt#LIx-zielbhLKLMJjiLe9Lyx;;{LUaM zrQV=jZ%mP4&xBz_9i(}n*zlH5iN0J1vy#>e*gA&U6G&%~<^+QY%#HF3W^hShUILj@ zT*e97&zmD8r<~+fB8)0Z)og)9B(4@Wuq}Gn7>eAwB+3-I#EV9kTqUibq?)J~O+4da zyqHV9aUS(6(VS|4A$l0BKk9;6ty4K?otJaIgKWdi`GV}G@FNF4Ub=)A*0TyrQ9z&( z0<2}nDaZxfQNWWOsH7IOvIjhT*4P=U{xe%+6>fAxL2Ke)g&vwfh&1Lj2j{n>+SI`U z4XqU{LoS=y2pJCYH0($F1oG)xQ11zU1$yB!_m zBFuWOMJGY5;~6#BN&j0Y-Ac=R=#zBv3e*U639J{`Aoxn-9Ji+_-bhy+xAV{@HHFFk tPdx^l!s_WMte)8l|5^X!ThK;;?W}(Xr*JK&u+z=-BHjWMn_WP$e*wk}9!LNH diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class index e8353d35f4ddf6f508ed27c4596ca4802a249cbd..80e8a2f2fd2c47a24643dbea434ee3271bfadb7b 100644 GIT binary patch literal 1449 zcmah}ZBG+H5Pr6Ia`bw&yn_N(1+*;@0)_uZf}!_c78br>-Lu zQ?0w+Z=ZO?IO2qY$3m76^>EBrpB-@$yMZ4Wc)@V95e6sy0mBhLRT&J0Lbb(Dx$SYk zY1iV=^_%77Nkui|^R_BIk-#wQ@hCo2evLONidBd=6z!l(RQa;sAUO&L5-8=;njMh3 zO%cEJJXIQLQYdzrJF)B8RX2*My>!iO`aJH0gt?vw*d8ENn3fRT}E0#Bb^?;lu-r8IaB}sZyg)o?Uxey|@Sr^GW)?tBZT|EG#f&=}XCu z=;;`=CLzd<(QXGCt$>lz8CdBTQpab|en9_5XDN)6mG29LqZ85utt1}BV-i#J%cMRO zA+fe-Cw*q=JM?qhV7Q8sLz*%#QOq973}xw*dy77jdNAHl5^tRFCjNs*Q|sX!6NgSr zSy|um%KSMDJyGH`H8`UnOWojJiIj$U+))i?k*AfEC5yWxvPKz~4bTng5$=*lBTq&W z=Fc&#CFo{J-#JA$r2sP*bQvsSiRk*F>E02b)OwRVeOjj(zS3!TVnfQ4zgCxmiY`(l ZUE^N4SLSCX^a2t7dt}vgYt4UvW+8oJh}B`{+;$ zKG?oMsnTp2f%HEbrt4WovtBa|-}26E(=y)CsdoK?)~T~4Flu_13@mlwM>yFIH+#}O z+$--2EDeCGOE-jy9z{@@{m-U#8rW{zPvW^iuI{;~*MU>MJPVlw3WZ8jo=L-z?S@ee zJiFc4>OU!mBD7^IEV(a0AmvCuI12CMvcXrPOkU4wxm}|2mxDTGEF3DJm`z_C3S=8r z@XB$*)Tm{l*k$enwqsOmKcFn>s@-VIpyLs9z3;*H08LtKl@qG6wL^dr)3Idxdi9yA z+wn~6wXGUBu5PY%VoepNV;DJsh5r5x5M0MNayllJnZmS=2Y9Gs0gF0{3Z>YOLdro? zz#+Jj_D!v6nZdv$280VtgrWW?$Ed!oTn+$}Q9l3yoxg@8R~AM)!kxiYa7`>USnY!}s(Nn7AF^Btr0DyJ#pOvtZr8F9&dz#HVP`fc2&d|zCjc;u@D=(Wkthgk;o#6m5moL+Zu0R zWoO|5Y(0dr^#JNmWid0!WTu$;GQayO??10^K!&3jF{TY9Gdi;dQ7nnw)j7$$!2%h{ zqE1$4NoUz$g;mL#Bqv#yY)CdGTLx*iA1a^Wg~;9Q2#k~FP0Otn>wZlTJ8jo}%X2!8 z$q)&XBq_n5+iX~k+u+)_T+i~(tFBdO)jPG8$u4<8f45-!&ef%z_njaxDX=Gq|J%n^ zujaNTMU#CF1PQNUx1AtNih(ezm3m7i!<55&?IUtX>g6o*EQA*7(Q^0{eYD3IN2m)d bMi^B(p%6#=RZE0apD0TAsKli5HKzUm?>Ic{ delta 325 zcmXYtOD_Xq7=@p2rtLQ!BScb~B1)oqp@X^=txHv@%c_xBPNZo_GhMXdcQmuJwYCtk zvG413`e#o3VP0*bH}bbZp|*#oo3Two09h|LV+ENUCQ2vs0H>chS>Lx zwHN(>*sZN!3!!_jzH%{-rT~Ft>JD+El*Wi+^EVw(SA>Zw-~ZQQlriO0p9q5ph0Zon g|CK#KTscVpcM?kXqJ4K_sa~Wg=~IoA$~7i`0HMV)$p8QV