From 5ada8560f885f6cf30a8fff69956bda24dbcad3a Mon Sep 17 00:00:00 2001 From: EHOT125 Date: Sat, 13 Nov 2021 22:59:53 +1000 Subject: [PATCH 1/7] =?UTF-8?q?=D0=A2=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B0?= =?UTF-8?q?=20=D0=AE=D0=B7=D0=B5=D1=80=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Таблица Юзеров --- .idea/.gitignore | 8 + .idea/compiler.xml | 13 + .idea/dataSources.xml | 12 + .idea/dbnavigator.xml | 465 ++++++++++++++++++ .idea/jarRepositories.xml | 20 + .idea/misc.xml | 12 + .idea/runConfigurations.xml | 10 + .idea/sqldialects.xml | 7 + .idea/vcs.xml | 6 + pom.xml | 2 +- src/main/java/jm/task/core/jdbc/Main.java | 14 +- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 86 +++- .../java/jm/task/core/jdbc/model/User.java | 10 + .../core/jdbc/service/UserServiceImpl.java | 15 +- .../java/jm/task/core/jdbc/util/Util.java | 18 +- target/classes/jm/task/core/jdbc/Main.class | Bin 0 -> 922 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 -> 4501 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 -> 1341 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 0 -> 952 bytes target/test-classes/UserServiceTest.class | Bin 0 -> 4212 bytes 24 files changed, 684 insertions(+), 14 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/dataSources.xml create mode 100644 .idea/dbnavigator.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 .idea/sqldialects.xml create mode 100644 .idea/vcs.xml create mode 100644 target/classes/jm/task/core/jdbc/Main.class create mode 100644 target/classes/jm/task/core/jdbc/dao/UserDao.class create mode 100644 target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class create mode 100644 target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class create mode 100644 target/classes/jm/task/core/jdbc/model/User.class create mode 100644 target/classes/jm/task/core/jdbc/service/UserService.class create mode 100644 target/classes/jm/task/core/jdbc/service/UserServiceImpl.class create mode 100644 target/classes/jm/task/core/jdbc/util/Util.class create mode 100644 target/test-classes/UserServiceTest.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..e7a827b9 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 00000000..5a993bb6 --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,12 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/new_base + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml new file mode 100644 index 00000000..fa93ed24 --- /dev/null +++ b/.idea/dbnavigator.xml @@ -0,0 +1,465 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..d5cd6143 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 00000000..797acea5 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml new file mode 100644 index 00000000..d934ffd0 --- /dev/null +++ b/.idea/sqldialects.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0605a4c0..9352de34 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,7 @@ mysql mysql-connector-java - 5.1.38 + 8.0.25 diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index f6e43b0f..52659d88 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,7 +1,19 @@ package jm.task.core.jdbc; +import jm.task.core.jdbc.dao.UserDaoJDBCImpl; + public class Main { public static void main(String[] args) { - // реализуйте алгоритм здесь + UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); + userDaoJDBC.createUsersTable(); + userDaoJDBC.cleanUsersTable(); + userDaoJDBC.saveUser("АЛЁШКА", "Й", (byte) 66); + userDaoJDBC.saveUser("АРКАДИЧ", "ПИКАЧУ", (byte) 13); + userDaoJDBC.saveUser("АРМАНЫЧ", "DEAD", (byte) 999); + userDaoJDBC.getAllUsers(); + userDaoJDBC.removeUserById(1); + userDaoJDBC.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..7867395a 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,111 @@ package jm.task.core.jdbc.dao; import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.util.Util; +import java.sql.*; +import java.util.ArrayList; import java.util.List; -public class UserDaoJDBCImpl implements UserDao { +public class UserDaoJDBCImpl extends Util implements UserDao { public UserDaoJDBCImpl() { - } public void createUsersTable() { - + Statement statement; + String sql = "create table if not exists zergy\n" + + "(\n" + + "\tid int auto_increment,\n" + + "\tname varchar(33) null,\n" + + "\tlastName varchar(33) null,\n" + + "\tage int null,\n" + + "\tconstraint zergy_pk\n" + + "\t\tprimary key (id)\n" + + ");"; + try { + statement = getConnect().createStatement(); + statement.execute(sql); + System.out.println("Улей зародился, вызываем морпехов"); + } catch (SQLException e) { + e.printStackTrace(); + } } public void dropUsersTable() { - + Statement statement; + String delete = "drop table if exists zergy"; + try { + statement = getConnect().createStatement(); + statement.execute(delete); + System.err.println("Проведена орбитальная бомбардировка, Улей уничтожен"); + } catch (SQLException e) { + e.printStackTrace(); + } } public void saveUser(String name, String lastName, byte age) { + PreparedStatement preparedStatement; + String newUser = "insert into zergy (name, lastName, age) values (?, ?, ?)"; + try { + preparedStatement = getConnect().prepareStatement(newUser); + preparedStatement.setString(1, name); + preparedStatement.setString(2, lastName); + preparedStatement.setByte(3, age); + preparedStatement.execute(); + System.out.println("Морпех " + name + " прибыл"); + } catch (SQLException e) { + e.printStackTrace(); + } } public void removeUserById(long id) { + PreparedStatement preparedStatement; + String remove = "delete from zergy where id = ?"; + try { + preparedStatement = getConnect().prepareStatement(remove); + preparedStatement.setLong(1, id); + preparedStatement.execute(); + System.err.println("Морпеха под номером " + id + " сожрали Zergy"); + } catch (SQLException e) { + e.printStackTrace(); + } } public List getAllUsers() { - return null; + List list = new ArrayList<>(); + Statement statement; + try { + statement = getConnect().createStatement(); + ResultSet resultSet = statement + .executeQuery("select name, lastName, age from zergy"); + while (resultSet.next()) { + String name = resultSet.getString(1); + String lastName = resultSet.getString(2); + Byte age = resultSet.getByte(3); + User user = new User(name, lastName, age); + list.add(user); + } + System.out.println(list); + } catch (SQLException e) { + e.printStackTrace(); + } + return list; } + + public void cleanUsersTable() { + Statement statement; + String clean = "truncate table zergy"; + try { + statement = getConnect().createStatement(); + statement.execute(clean); + System.err.println("Zergy очищенны огнём"); + } 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..3d70d13f 100644 --- a/src/main/java/jm/task/core/jdbc/model/User.java +++ b/src/main/java/jm/task/core/jdbc/model/User.java @@ -22,6 +22,16 @@ public User() { } + @Override + public String toString() { + return "User{" + + "id=" + id + + ", name='" + name + '\'' + + ", lastName='" + lastName + '\'' + + ", age=" + age + + '}'; + } + public User(String name, String lastName, Byte age) { this.name = name; this.lastName = lastName; 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..616a13fc 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 { + UserDao dao = new UserDaoJDBCImpl(); public void createUsersTable() { - + dao.createUsersTable(); } public void dropUsersTable() { - + dao.dropUsersTable(); } public void saveUser(String name, String lastName, byte age) { - + dao.saveUser(name, lastName, age); } public void removeUserById(long id) { - + dao.removeUserById(id); } public List getAllUsers() { - return null; + return dao.getAllUsers(); } public void cleanUsersTable() { - + dao.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 59e462ba..8ecaaff7 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,21 @@ package jm.task.core.jdbc.util; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + public class Util { - // реализуйте настройку соеденения с БД + private final static String URL = "jdbc:mysql://localhost:3306/new_base"; + private final static String USER = "root"; + private final static String PASSWORD = "springcourse"; + + public Connection getConnect() { + Connection connect = null; + try { + connect = DriverManager.getConnection(URL, USER, PASSWORD); + } catch (SQLException e) { + e.printStackTrace(); + } + return connect; + } } 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..b2e9044e5a16a79bd6a29e6a773b0089e7d03bb1 GIT binary patch literal 922 zcmZuv%Wl(95Ir|d6UT8LI1oyC23qPQ5c8(cg48r1wFPg}Wd@lTegUl28`FIbqHVQ;9>5;{ro$*>bGlHp7%w++>KZx=oWIQ@0%R zez(&wy@$ME6Qb5#gWH?jvqU@uqro%FXPBwCJ9@zV=epr~rrvHg4E-LroF(Gx(8`e4 zp4QuZo9i}rTKY!dSx#%IUypk&V#rNMGbFpd>D9QqUaPJ$EKI1<TKFGJMMtG`eLm~7t+?n(R9;uw?+z3K$d<^@kBsW$dNrrkxnb4b-J_%_Pw7z zL^d`6ktbgn`iC(?Q36LWONco98d0JHZv8~$$sVTa_QB*;SCY;71GFT@4LRfxK97l1C SB8i5094AN`!%2!GIQ17c-Q2|h 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..8763c36e35015d38772d66004ae6e13969155e1e GIT binary patch literal 4501 zcmb7I`+F1D5j|_Iw6eSeBWx059?M(CHl~3#sm;@n1XJ_IPzZ!B(qh(@SITMyIDLhr zDNRXB(|6jmX`8mBZQ9xfYzrG``fh(({Q><;`hB72UOg;h5z-HPwVFG3=FFM7GuQn4 z!`pWOY{I`HXonTXxd__OUx)Ls>o9=9S|l+Ph7&;wX$>z%PzyJVjF5X_WW%^1lrPrd z5{AX&CGq&YhA%|0P#FB8`212BUlyM)hjCe~zY@l);`>*^cum7sBUmO>uLzG{tHbN~ zx_Dd_k2fOt2EM7`S_EtHtvbAkZwn~j3FEtAd{4voHT*!s4;6&A*pBUOQxJ%?98;j~ zN+m1>^LuT_+MgXdYq>|wvq?&#y{WjFJZ8GK_+AvM-g!HtU|sLPP={w`20P*@*XkHZ zoQ-!R%v48T#&UO?slB_qcl8XVlU)kxmU|ujgGA|}O zj+CU_rO^N56-$SDpScvb(w?1ixEi3kz$dpRO{brGUEAsB(mYy;5AHM5(wB_-Eha<3 zV+l8vu0#<^SV_yHpK!*!An_@P#pc?aE9n-rEl9go+H|c%8McBYGl&m9xJqoQV-5*_ zNi*Z^m#+b{p8};@f#z5j1v&zCt)Wx_Q1@_8g4<$yg~J+~@5)~0ub`lyuHW)@CX+HK z(h+MZxX*favZL3|cyw7`fxdg#vjmE)bhE5V28UP)Ntr|H)w)(DoAi!Yv$J%#Bo(HT z^ip37lW+8Iul>SyBv7`J>hjBQ;Sex%{Y8r~+NBX+-IdRdp8Jvk@ZM_OWy$CH-n zNWO}t7?ctPkt3V>{d-YP~H|EAnq#Fx~ih(~WJ~)M7ZabZxw)3(EedVmdk7>jIG9Y9h1l@ zSW{_FaC1*&%3zR!i(8U|Y3b)Sb7AB!i?AsrasH%nQdFdZg%YkjpF3UG92U)irZa4S zanGniMFl7wQ<&!Q({Tqkblk-~9e=_H8vd-~FZe5)-rPwr(?`Uq`5TY0j=$p{qGJBZ z>CN zEIO8)o)t4@QKf~loXuFXE?M!c7-)@ErdZ3#*>MeLIDt7yQ(2;FEHq_1)p3wx)Z;L< z%psaAV45waBX%3dOF9p6#8EY0YRE}^)HUOT6tG+#j{4%vEW=i?u^QF_9Kl7kF}k?S z@|;!9h>Ruh^D>}dQLLw8{1vYVVw7rB64OvYFxDfdIj=$_C}gJ7mcudI{%}+k*Nx(# zCsAQ9RdU);%1?!&$PQihrUWXwl=FNE$NC(2GbZ(7IuB(nmq)nT&7`6nM z5|diXx+{TdjP=a*B~VePK!i#SUPB6XE}<9Xn(T=O&aoI`-IX?qw~42!Ff}Ktt_q3V zCz22_6J&Z;tsXc#z*EvCQc+cY3@do&Zij*myozi5nEU$@}&k( z@)_YLPzMz{@9yAJDq%A|$!`iiRW|TGHC4*iMr-!1A4ebuRY7lSTMoe*93Mj{s*NLj z9pU}$n5v-Szyo81vAKMl9j_a%wCk>}6QPH-TV1z0Bi{{wX|7 z8!Pzj)9Bcm5%YDZYlxYhI z@Wr%=x96y>NZB4qgOK%LFT+%E0-vEQD3jVOlG=w5lgga(hi9>v+Yk-(VqbwF{D&Kb zlReR0;s`lYSjMa_?=7FgeQi-AhZQ2~99AlL3tQSr!zxiI?W`E_ z5^N9Uu)2n~rZt_RDXcxwq&5YcLK9fmskJs~ImCF1uiyWG2bq=9QaZ=2BZL}80{x^x z)B_|9U;@H~AH^Xahr>M1N3a@4*?am}Bgd$7oGYKjNoMslp9wzu@jU;&KgB=yUyx*- zqQ!Rp6E&f7*J_d^^50F0duT623$?V_M?RVK0LV&{GOsF7uMs@OWtP_G7`;|{Y*3t9h=7DCb< q+59Zx?`I1+PtI(%kR)5k09(i)TZkh$`FPFmEP49q<`o3?ER_rZ 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..d91cb6441e0e52b2b817f191ce5d241369c6cf6a GIT binary patch literal 1971 zcmaKsdruQV6vfY$K4Ili5PVdvqEbp_6%(;j2 zw0COOs^hqx>DjK+)G+F&e>C>3M$>M3mQ%5e%_@uHj#;-fWJ7YVyoT)yUWh1KcWbS> z!@_jUYv^lbV>Moz1eLG5 z6|=T&Hf&i3!MOL%Ci&&^UfuA_=6j>!HY{VWx>GUg)TtS7npQ(VJXaBG7%5CfonyXm zGWy?$k1xcDUCY~~+u38nf!~Ry+8hqc`+HKFVyUtx#XL1T8_o=DmfSw(mfLprF~74) za&J}qJxXb&719#~AyflxNFO-~uk{ z7{_%Dx&PfVo2!HKVrS2)coZ@B_brE)b1TZ#6ZaeNvtf?qE477_ebdR$71mGR##O%0 zA-?c9pD3*WyO66S$Fm$`;zTHR&X3WA6ERxR73<@gcfsGwteWMhaZD6{K>Oy)T;Z?$ zGk~9pQ!>w)u9Ap#jVn#e<*x{M%oKsGUx>Z^fu3yqkYeAFJVYv+R`U#p!HGlkX8Tk? zZwJn(KtHnwzcAwv17E2YgHXtE!2{&^s|dE*1UcLY2x`oZGh;-KP@FnIrdT?FUc7aH z{?3U;kzmd^Gp{4V+J4-mtrNa>QPl_9R0`~snV2eGj7V3Zhu^%(Ds^^)qY(P%?Zz&K zuoG?U0w#mvWy*?hQjn7!P-XozaSdN#RAsf{l0iRcD7G&l43g;vnTZ6MLMaL)(+x65 zkoi+UR1>oGBSG|TkcW{V)6pP$H^?$UR!#v?ov+cc+rgp2j`VkftVM#{!Az7Rp&n9K Xvq6xjr+}#E7UQ#$9=_XtwD*92S#4F< 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..e0898fe7b10c92b64c1dc7ed2b204ed7140d9bc1 GIT binary patch literal 1341 zcmaJ=VNVl55PjR89Br>q5D-)ZRJ63nDWGB?Bo;yfY4Agpgpb?nre3|?k-IC2|4I`L zK@)#~Kgu|>tdW+Odp2*-j8DyVGhqHWlm-kqY-^uq`mM3&5?`6}YoymIONbf|3F0TihM*Pu@1ga@4L~!mpN;5V3`C<3W zBgT>wDj6%55Djp~T48WDyfGTdbA3XfT&{QIxwJj$x9vt8x_)~*xl_~Pec9Dg6Bh(V zJsHKvx}KG7IwfiXW1;E>eWKdu!xpt)K4PGZOSw1_D701l*7LM9@}RuZXYR$WXV={* zrgm}-x9!Wg7ZT=r;=oRdHC?jU)5dJ?62Q3QDd`V)pKk=c&`}328$ZRBAqUsEISVCB z2rU11x<~u9J@(wf7{*O(S-67<3$q;NaM!{jmMlERvV}6Ett8QiI&F$H#A}P+H9N|Q zQ^llQ7no1d3_VFK(KELoP^2GNIYpClYMA0At#*;swNm8*qVf}&(+gz3!}v{#j0ZxP#teN0`!K-TqA%C-m2WUEaZBJPibXiZA(Z?T3K^M>GLl3o5z0g= z3Qb~wa!Ps)(o$qC)z$e+m_|a*6g4xgfhzsO137dJ_i$e~Q^Y)FY(WtZu%PXtSr2IT zXq}~6foT>lF`7+~%#v?&nq)@96s|}Lc!);?B>3G>jpwnc*H<3q1isL2e-a~91Btnw i!ax6>=rd2LPLGcwBi)!rKI!8k`M8vVMz2@nRsI59Q23?* 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..cc9f67e46967a980d2cb21dee13f9f398d8d0780 GIT binary patch literal 952 zcma)5+fvj(5IvI(WLbCJHQW@ufTAuJ2^Lj8pk_>>hTfREN}m|C)g1e00RPw-28 z)fcsV@B{oP^-Mq(%hK{?I^BKxboZIbx9?xR0$9e~3Wjjq!HqIz%D7p^tqN|V>0q`3 z2XhYQ1xnkSzJTj@<&pGanRL8BXHn9*FHl=elU&P0@5s2P1nli#eN&+P^idEz-`HFe z7<>>Vk$y;)=IjmutLZLrbw5hfliopFWm~cxGvfMbDB~TOMaDk~+Ila_1+Mtr15e9* z-wV@BdEMQ1==F3Id)quXMWv%O2T4?@1;(4R$CKtSWA7vyr3qnzZN~e#;F-VvI#h@H zIO~MJ7)JY;-|B0Dmf?O&9v0J4GY1P4iv5GMmxbzaWEL4RLoFJus;HwOF!_(+1!l}P zD+g~l?TY8cMufdI*DK4*OZU7)y?W7>Ia%#2O}Sh(KQzjR?3XJCcdA%~Coo!Ejam5Y zQdKOO{*C^C-D0pmPP@msbl(T)ktJCs`sA5orvPn5;#I)9TA4C@4W zff}QA#@%9!2AM|K$8?$^t^petaful6p7gY6CooCA%Zv`g`oU7m!4(HrAsk$@nVMqC G!t_rU#M3SS literal 0 HcmV?d00001 diff --git a/target/test-classes/UserServiceTest.class b/target/test-classes/UserServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f54ca664cd0d89b72e2c4ce4bd8f76a409a361a9 GIT binary patch literal 4212 zcmb7HYjYG;8h$#Nq?<_-;t0W@;()6rgJf7)-DQJd5>cbWMG~?LabY`?HguRvoaxC5 zdyxbYm3VhARBe?Xt=j!!C?*#o!H<@oy8nPb#Ih`(x2I>O$&4XXs(Q}lJ?A`^_gwPb zPd8Tp?8UV(VmPMa)i4@xYy;YHT*ILJ4rw?czr*tRLks?hlPXTB7zsniF%7TD@1Nvz zT0UpO_%jR%8`Y2uqXlCsOsT&vpYax)g{5L5jBPjk&fF&{#-nn&6)9uvC(9l{n8mf zQ4Q=-pxI{LK4PRfD3X{kri^&X$c)Da?VObvXaC0jY$k6T8GG1B6&R#Te8MP?QKi~D z&JLxok=ivWXx?vSEc<|h#?G!`1)=`z7`rzmtc-c2kRCO2L&j)|Es;bvX{3gYoF#R? zF=U^$@(S)t1W*of2_k77%Vj5}Iq%0RoMcM?^PxAB=A><9GXi_iHj?KK8HK6_ zs6DG<_pgoQ0O#72OqoU|NGLp*E##8s3zqn?S$YObNg^6_3m6^0!P5%5)|E~J>B*Fi zU3ilE3``jr9lO!ZgphJ}O2-~_>-aUEQt@{kJu>h8)r_mSr(kQfwUmc_1uHcsdY^T^ za4$NGQFq2Ey3_nFvby42cfN9NIg8S9$+^MGvQv}>_alk?%9&%sqWg|}HR{~<1}r)Y z&Wigkn^&UjnRaeE%kGEnmC`V$7}oI*yd|HDI;JtB;*yTHaal*7z`k@>7}G?x;6eEX z80=qmX9b3!7d{^7rF%g54rXZTD%W)Mj(;lfwqn$obFVtfQL0*`SS#*D>c|p--x3XPkjEUAzFv|(>Rjgt z))(AM(kb@ba<96V6};tqDg&;2wcipU&-i$}xKV&c29$DY$S~ z3s+~-8Y`2KHFggO{*C`A_`ioh>@QNySxJFtt+bNm?rhXkVUBvtND_a|Av4s0!rq%o z@tXa?UBkWM&9X+qDwy^4@>IA@D`$w6fN8w95t+h-Nn59h?J~8fXA@myf^+kglY?9W z$#D+~9+qvGbN*WvB1#xnxRc+jBnkoEx$%Dyke7*aW_YJU=`isUy^b9Urtg+GJ`y>d zZkCR!b>diW2J@n*9*{>zC(I=8j>l^EIFIwy7d{VTV{+2W@D|$L8Mr$A>%Oa|$v=5{ zd)yIUTD51bc+Jk1X64P&SsTb1+p2eNZ=PVuBJ{dprFg5?!^XEnm^bHPGoLr)!O>YK zs0M#epS(dLWdOmewbc``(!%!&XP31Hf@poF3RL!%-bn%V%M6>%Hws3I4~aXFmsR59 zL+U`OITji|_RDx{-*ue*B zj4!YdB60<@6p`x}3gRp`pow)}z?HhnI`862eJ@m&dE4{*3`dNhktJY9YynDa84V{F z&{#w$7HKM?ITlfi&|+E<8|J*}f6H$>7Xda9LKvI)`rU$!co41l9b5I%WY~w_v!=-P zPf)VZ`}}R-@9x+Qgq9FiP$_(gZHZ;*TzO-pbsn2`&7*A|_bnna=S>&k5-r3ji*G|S zzni)I7BYK)-**0Or4k(;fOak-E&K7TH+HuVZY)99A-8SGyg{D-f1#8!(=E>0!fxA zJ>AQ3&*KnnI1_MfDj-K2LO)_y#S1?m)K|y87c08_&)4P9dUOddVP_+4t)||ib!f)8 zxyq@x6Bbb5?|8pcEIA&&^?9FKAMYp1#|H)Q z=wBoI&Qaah^tSlQ^Vt3 O;lX+gkC0mfj{Xc9afC_$ literal 0 HcmV?d00001 From 8c3070b929722581d17d20a2b797df7226a2b54b Mon Sep 17 00:00:00 2001 From: EHOT125 Date: Tue, 16 Nov 2021 18:18:08 +1000 Subject: [PATCH 2/7] =?UTF-8?q?SQL=20=D1=82=D1=80=D0=B0=D0=BD=D0=B7=D0=B0?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/compiler.xml | 1 + .idea/dataSources.xml | 14 ++++++++++++++ .../jm/task/core/jdbc/dao/UserDaoJDBCImpl.java | 4 ++++ 3 files changed, 19 insertions(+) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index e7a827b9..f9a76287 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,6 +2,7 @@ + diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 5a993bb6..f2f249fd 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -8,5 +8,19 @@ jdbc:mysql://localhost:3306/new_base $ProjectFileDir$ + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/new_base + $ProjectFileDir$ + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/new_schema111 + $ProjectFileDir$ + \ No newline at end of file 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 7867395a..22306a3e 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -47,11 +47,13 @@ public void saveUser(String name, String lastName, byte age) { PreparedStatement preparedStatement; String newUser = "insert into zergy (name, lastName, age) values (?, ?, ?)"; try { + getConnect().setAutoCommit(false); preparedStatement = getConnect().prepareStatement(newUser); preparedStatement.setString(1, name); preparedStatement.setString(2, lastName); preparedStatement.setByte(3, age); preparedStatement.execute(); + getConnect().commit(); System.out.println("Морпех " + name + " прибыл"); } catch (SQLException e) { e.printStackTrace(); @@ -63,9 +65,11 @@ public void removeUserById(long id) { PreparedStatement preparedStatement; String remove = "delete from zergy where id = ?"; try { + getConnect().setAutoCommit(false); preparedStatement = getConnect().prepareStatement(remove); preparedStatement.setLong(1, id); preparedStatement.execute(); + getConnect().commit(); System.err.println("Морпеха под номером " + id + " сожрали Zergy"); } catch (SQLException e) { e.printStackTrace(); From a7c1aeb54c29c59f4455f7fdb82eb0b0618846f8 Mon Sep 17 00:00:00 2001 From: EHOT125 Date: Tue, 16 Nov 2021 18:23:42 +1000 Subject: [PATCH 3/7] =?UTF-8?q?SQL=20=D1=82=D1=80=D0=B0=D0=BD=D0=B7=D0=B0?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 4501 -> 4607 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class index 8763c36e35015d38772d66004ae6e13969155e1e..82a41f3d6c1202e5d0d698a990e2438689e40b97 100644 GIT binary patch delta 1939 zcma)+`&U#|6vw}J=H7cQcdoBd(t*$sd;%l+NNuuAl+pr~MnD7~D8ox&Mi>pH8th&6 zvYVwnEVZ(SR!9wAG0mQ4nfO~j^)K{mYt@pz=MGV;)+*P)x##Y?&pvy9_V=6vc|&>0 zOV`ev127+hCW_E#pvlA>H2ctk?LM@kEd%X{8Hk(MfewLA6B$St*eUJ14BTg+OFHkC z!yX^HalafMki&!0mK5kQktsv(mCuI^JS?A&7@Qt z(>^?dXXWsm9G*9^A1?^lCT8J99}eIpnbpe%4jMQl@QT2z0185btc<)PC2WH z!vb#zylLaJX=#wW*@;(fnyfl!rT06;T;?oc-O*vc;CLPE-(4O!U>#Ikl9kV ztFEYXM{7}}ytJfiTQr_%j4lR9a8|*n;NbbIJ%gtQd#~;r9I)^i z&e?19JnwmYZtv9dy#u&lAJy0Ae1R`njfJmdgs<_9g>P|D;5!SK@Vz}zOdUHHKL{MQ za2Y?!GOqNk6u&E(qdKFBWjhnG<*~N5=7a)u)`r=Yc5%ir|F&U^UKfu?+v^pC>>e|# z&oFzG$~lyUf}5xj!6)%?obM_|;SA97`=Ru5;=uxrCZB*0DlFX0nU!|JLM-B&g2m|o z_Rqeh$^v_`H8Uc;^65Vc<8ceZ^qI=HTd@RQewi`6(u+LYhT9o^DXkOW8KO?S0(UU2 zWl#i)Rjyn<9Q~jrqyJ>hOkRKV75^K(1b1=|7OxaBH^DsO{?TDAKLxMX!59zZETB0U z>p@rzsA_?e#5gYks#fTvCwh(pzqB|Qub@gUa4Tr6;U+t6nb6Y3keSFkIK?VGr4S9rxAUK;1(jeh*d4dT_hVN(I)b3 zA=?NNE9Wgj8}ZA|t5gP?tb4_g+C%CCFkwb6NXrRzHtbu4PRT)>y&nHZWUBXaQ@> zB0WjS%P(m{n#_HKPz_g>yN#*By`-VKG%_WPWCSX4s3R(s93ogp9ZMZGFrL9!?E?t1 z`BO{Nf>0Hd75Z}>Y}0w>?>m?CgmY5##oN!+uXQ$vqh z&NlM53H7K$BQ~?YTiEoiE}UAT4e=)hqH@(VS0EbKP9nkzwz!-gm5eN9wu;fKlcXrO zlqcQ8V1J$T_Frd4HrW8#$9_KNspXWD9H(*etN+H!K_CCLULGn}%RFOm;iZS1Sp% gacP`)PCKus7^b7cC2)NgSG{{|{_En3x(PS@0Tp6CY5)KL delta 1771 zcma)+Yg<%R6vzK(&Sf9Y91@OT90&&(gkokem2Q(Hf+d(xfQ0Cvl_(m8-EUT--HmQ` zveK?(MHej<8#rQ`U9G1V(3@WM8TtVANdJ8pc^==C55qe9vew#b{npxhI=VNS{`Ktf zlK__B7Yhk&HnGJ*9Q|Qz#kMf+z(5Y}#9bx^Eo{f#0{2+R!M!H#lk4}Jc)-MiQu(1U z9>yb5JSxQwfyXS&l@1@5-zQ9@<#(rvU2^|P6Hm!`%hM*F5qQ?Ze5w1KJo5Q4cH;#p zhNO7W!b^Br;1vs1cr}bYcumIQnRwmAUV%3R-V}Ii&+mT;4)-y{(KE^kMeG-NTi_jU zNZq9_#O2-`?NG_Pcu(Mc8y{epyEZ<=0fCQfe2h=LKeQ%e#Kx!i%q!E2)z4{CuSe7` zxV2FqEP3ur(J_3jAh&Gt)YQ(&@yR1oLz5FWG8pqV8Bui{ zzPH<`QIFxcmoe6sPT&NCvhfW@ZJfj@8{guzz;`yj#}8gil;}ASgufwkHlv*{^&t)~P!qwC%=j<9Jp>n4xYpEiNYq6Bx>$zHh&@{@R3S7r1mO&9{ z&}g|l>;1RDyPaE|zHsl2|LeU8D|p5trcuDy1moy+E=uY(8K|!AV@?Q3&DFG+k31Ew zrpJAxgOO3{BVR80a1?YOg)xD-J!2?v3Nx4&}vHH6+gAu+QNrA%#c=mpG;8;m}=u7DqiAW^q(;1kN=yA`eX{VwMr+ zSrY-F{}*N2u?&>DBje3Z+)eN-sehouREh{|qBux;c(PZ&Nb zLm0<`BzvQ($JJcjHO5e#6fsx$xHN?Bk?GUy9CpiPBQV<%BoaH!SWWbypCDvUAOHc@ zz-0Um+S4dxj3wwqCD!obcCk@zp;9;6u@>uC* Date: Tue, 16 Nov 2021 23:08:54 +1000 Subject: [PATCH 4/7] =?UTF-8?q?SQL=20=D1=82=D1=80=D0=B0=D0=BD=D0=B7=D0=B0?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 49 ++++++++++++------ .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 4607 -> 5408 bytes 2 files changed, 32 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 22306a3e..de293791 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -48,17 +48,25 @@ public void saveUser(String name, String lastName, byte age) { String newUser = "insert into zergy (name, lastName, age) values (?, ?, ?)"; try { getConnect().setAutoCommit(false); - preparedStatement = getConnect().prepareStatement(newUser); - preparedStatement.setString(1, name); - preparedStatement.setString(2, lastName); - preparedStatement.setByte(3, age); - preparedStatement.execute(); - getConnect().commit(); - System.out.println("Морпех " + name + " прибыл"); - } catch (SQLException e) { - e.printStackTrace(); + try { + preparedStatement = getConnect().prepareStatement(newUser); + preparedStatement.setString(1, name); + preparedStatement.setString(2, lastName); + preparedStatement.setByte(3, age); + preparedStatement.execute(); + getConnect().commit(); + System.out.println("Морпех " + name + " прибыл"); + } catch (SQLException e) { + e.printStackTrace(); + } + } catch (SQLException throwables) { + throwables.printStackTrace(); + try { + getConnect().rollback(); + } catch (SQLException e) { + e.printStackTrace(); + } } - } public void removeUserById(long id) { @@ -66,16 +74,24 @@ public void removeUserById(long id) { String remove = "delete from zergy where id = ?"; try { getConnect().setAutoCommit(false); - preparedStatement = getConnect().prepareStatement(remove); - preparedStatement.setLong(1, id); - preparedStatement.execute(); - getConnect().commit(); - System.err.println("Морпеха под номером " + id + " сожрали Zergy"); + try{ + preparedStatement = getConnect().prepareStatement(remove); + preparedStatement.setLong(1, id); + preparedStatement.execute(); + getConnect().commit(); + System.err.println("Морпеха под номером " + id + " сожрали Zergy"); + } catch (SQLException e) { + e.printStackTrace(); + } + } catch (SQLException throwables) { + throwables.printStackTrace(); + try { + getConnect().rollback(); } catch (SQLException e) { e.printStackTrace(); } - } +} public List getAllUsers() { List list = new ArrayList<>(); @@ -99,7 +115,6 @@ public List getAllUsers() { } - public void cleanUsersTable() { Statement statement; String clean = "truncate table zergy"; diff --git a/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class index 82a41f3d6c1202e5d0d698a990e2438689e40b97..3e3bf4b967fd04a7daf1961d9b24160ae5e99896 100644 GIT binary patch delta 2488 zcma)7`&U#|6#i!B&YU~L1#Og;!y{gb2~L!+YJ7`AgqVsi48su+L>`I{6tz)8eBdL! zWu}#g)|hFE*x(3>W*M0l*z3>m*Vbw+={uJJA1zm|fwTABd!N0(bM|-6=}l@%@!fuK z^%{V&_|t)xQKn+G18FD^Lj@|sP=z&itVOkobq=h@27!$Z*ioZmleBMEQLAE$4Bje- zZDDv9J~?cc!wzYy6L`;oNSV4`%AG12q}(N)yO*fgBSZJ9Xq47{D)tK;a3DcWI4BXk zABICXEC*c-21MvPGb|b**`bNt_ZmE%3SCXxU*IgR%M`<$UxP@C%&L@FmXDtKlo0 z6F9HoYh2L(QqpY~HMHQ89&e4Zv~tR1Yn36w!Ol!4iWx8oq$`{`GnD;~kzETPS@7)HXZ>&X3}mv#IKX^{*c`;sqaO~h^7-NQ z*j%;%94P@XYmXI$|9spT%hkVeQlUU5E%rNMM#l61Xf1cNE+Cf zyH69$+^=02(0pAX)lOvjOed$XHzDRoEt`lX4|`Zha!6`9n8PkA1n?GZR)bfo;OOOY zZR8bc#Xr*ky=?qU??nv6<4%E`bc26c^yl)Qa&9m8)c#~#I&;l6LT!H&g9-C6Kg6eE z;;<7{hcia+iHJ4D>h~jJeJ=zsEG~dJXFQbvq5@F;aCodPtHCC3NP7zD`WPum_mG?Y zluQoU{D|?0$4RHUR7pC~+2SLl2qMmRt?`xV;TNi2CQtmFxf zBFiP&EG*eaEGu(|Xy;?x%7`auw1~TBme-PLC9$bQQ`wG$yf!4x?xTicLe6Ms zQV_$v+Sg=MA%g z`@fObL=8{CCN_FAJ6y~8+n8YsJG2$$eC8+km?EDk-TcV|tZ>?J;{aPZc^D7y5+3w< zjL2gW!2((2Pd=OJ?-S?dD+52<$zKrI~ zW`wR@zjz723PcSQpj}6YfqZnj(S==ZbYu4d^q^NqpMgE-7Z@3CAdQvy#L@X57D z<>Ak`aSYGO;W;@xZ{Rpy5U>m^#fxsdgqLMhujqJH#|eSg1YQ?-Ieo%No=+XAOeyn}c7*2H@l6L{am2l&wXO54SMj5Q z6zdN)#baVQeiAroVg^6UTz;{JM0lc9Z&4@C8RbfCKCfNDZL9&onOHckuq#5L1vqmi zp^Vc|QN+>U47j1e#O<`q*dnaN9eh%7XH3AVG*>G{)-f|XAXnvZeH`L(7mB$ijZb%@ z1P;E*n%n6>2JXQss;{PZ5!6}MfkWV4hP4KYK&i%^Yvg)bjy$tv9 z3?{D>FgC$B`mC9_-q1L`8iMFx={sx+E13-lO=CPaafg@QO!DwE8%bgnIjm>4L1x*( zoV%EBFTFC_4OI4`lJ7Tge;1rK3zs}?j)kfA}RhU^Tb?KsKNuWobV?%%2OIV-eN5$42L6vn^j0FNsC~iiYmXB8bOK%e+2Og z>g1~k7KId+tvQW^`bpg4SsX@UY8bbAI3$LV9ELsyqu80`48w?#+JwM7seIN7P|CB{ zkyIIy$vB<4FJtzF%yJV`3Sc8@nA}!ID+v`bwPezhgdC^|%^`Bi;O7xFaBH=FF?D#5 zG&Gw=f}|0EMjG0`I0UenwI%PijdD7rdZyuHMrjqXG&Kd4d7ktLG9-uyG8LRaiJxRb zOH>qVerE*IaQa;lWT}`!cCl+3OY4)gBxjOq63dE3Zjy)~M@8M(?3D{}<%W?v2EEEp zGP&m&tBzK*6OCpUQ7INOjB0u}!$SZGsAXZ)v5>Z~km{M~R)T9ls2YtlxAE6RffhuBSd4Gg+5#3*H($6VWJ$reqAb{$@UCV^&w?SEm-EDurbGHjY_*cPr+8Ki=pvBu@| z8G1C%S)RPgdGZyxc@a1Xj)mqSE|ydbn=B}+B+eL--=1{)-Z~lkF7{tHf$hd(wuO)X aiqhC$OVDrgxUsKID;fRw*CuF(-}X08mnfzH From 639eeafd55d79bc3a8dd587466e0028f1552b761 Mon Sep 17 00:00:00 2001 From: EHOT125 Date: Thu, 18 Nov 2021 18:11:26 +1000 Subject: [PATCH 5/7] =?UTF-8?q?SQL=20=D1=82=D1=80=D0=B0=D0=BD=D0=B7=D0=B0?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D0=B8=20=D0=B2=20=D0=BC=D0=B5=D1=82=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=20getAllUsers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 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 de293791..0fd2adc2 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -97,17 +97,29 @@ public List getAllUsers() { List list = new ArrayList<>(); Statement statement; try { - statement = getConnect().createStatement(); - ResultSet resultSet = statement - .executeQuery("select name, lastName, age from zergy"); - while (resultSet.next()) { - String name = resultSet.getString(1); - String lastName = resultSet.getString(2); - Byte age = resultSet.getByte(3); - User user = new User(name, lastName, age); - list.add(user); + getConnect().setAutoCommit(false); + try { + statement = getConnect().createStatement(); + ResultSet resultSet = statement + .executeQuery("select name, lastName, age from zergy"); + getConnect().commit(); + while (resultSet.next()) { + String name = resultSet.getString(1); + String lastName = resultSet.getString(2); + Byte age = resultSet.getByte(3); + User user = new User(name, lastName, age); + list.add(user); + } + System.out.println(list); + } catch (SQLException e) { + e.printStackTrace(); + } - System.out.println(list); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + try { + getConnect().rollback(); } catch (SQLException e) { e.printStackTrace(); } @@ -115,7 +127,7 @@ public List getAllUsers() { } - public void cleanUsersTable() { + public void cleanUsersTable() { Statement statement; String clean = "truncate table zergy"; try { From fd9574eda0711e9e81e0cf90aabff54aba431d01 Mon Sep 17 00:00:00 2001 From: EHOT125 Date: Fri, 19 Nov 2021 02:24:36 +1000 Subject: [PATCH 6/7] Hibernate --- .idea/compiler.xml | 1 + pom.xml | 2 +- src/main/java/jm/task/core/jdbc/Main.java | 32 +++++--- .../core/jdbc/dao/UserDaoHibernateImpl.java | 73 +++++++++++++++--- .../task/core/jdbc/dao/UserDaoJDBCImpl.java | 3 +- .../java/jm/task/core/jdbc/model/User.java | 11 +-- .../core/jdbc/service/UserServiceImpl.java | 4 +- .../java/jm/task/core/jdbc/util/Util.java | 29 +++++++ target/classes/jm/task/core/jdbc/Main.class | Bin 922 -> 938 bytes .../core/jdbc/dao/UserDaoHibernateImpl.class | Bin 1051 -> 3702 bytes .../task/core/jdbc/dao/UserDaoJDBCImpl.class | Bin 4501 -> 4441 bytes .../jm/task/core/jdbc/model/User.class | Bin 1971 -> 2059 bytes .../core/jdbc/service/UserServiceImpl.class | Bin 1341 -> 1346 bytes .../classes/jm/task/core/jdbc/util/Util.class | Bin 952 -> 2634 bytes 14 files changed, 124 insertions(+), 31 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index e7a827b9..f9a76287 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,6 +2,7 @@ + diff --git a/pom.xml b/pom.xml index 9352de34..5f147085 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ org.hibernate hibernate-core - 4.3.10.Final + 5.6.1.Final diff --git a/src/main/java/jm/task/core/jdbc/Main.java b/src/main/java/jm/task/core/jdbc/Main.java index 52659d88..c680745c 100644 --- a/src/main/java/jm/task/core/jdbc/Main.java +++ b/src/main/java/jm/task/core/jdbc/Main.java @@ -1,18 +1,32 @@ package jm.task.core.jdbc; +import jm.task.core.jdbc.dao.UserDaoHibernateImpl; import jm.task.core.jdbc.dao.UserDaoJDBCImpl; public class Main { public static void main(String[] args) { - UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); - userDaoJDBC.createUsersTable(); - userDaoJDBC.cleanUsersTable(); - userDaoJDBC.saveUser("АЛЁШКА", "Й", (byte) 66); - userDaoJDBC.saveUser("АРКАДИЧ", "ПИКАЧУ", (byte) 13); - userDaoJDBC.saveUser("АРМАНЫЧ", "DEAD", (byte) 999); - userDaoJDBC.getAllUsers(); - userDaoJDBC.removeUserById(1); - userDaoJDBC.dropUsersTable(); + UserDaoHibernateImpl userDaoHibernate = new UserDaoHibernateImpl(); + userDaoHibernate.createUsersTable(); + userDaoHibernate.saveUser("Pikachu", "Raychu", (byte)66); + userDaoHibernate.saveUser("Pik5achu", "Ray5chu", (byte)6); + userDaoHibernate.saveUser("Piktfdtachu", "Ray5chu", (byte)6); + userDaoHibernate.saveUser("Pik5chu", "Ray5chu", (byte)6); + userDaoHibernate.saveUser("Pik5u", "Ray5chu", (byte)6); + userDaoHibernate.saveUser("Pik5achu", "Ry5chu", (byte)6); + userDaoHibernate.saveUser("Pik5hu", "Ray5chu", (byte)6); + userDaoHibernate.cleanUsersTable(); +// userDaoHibernate.removeUserById(1); + userDaoHibernate.getAllUsers(); + +// UserDaoJDBCImpl userDaoJDBC = new UserDaoJDBCImpl(); +// userDaoJDBC.createUsersTable(); +// userDaoJDBC.cleanUsersTable(); +// userDaoJDBC.saveUser("АЛЁШКА", "Й", (byte) 66); +// userDaoJDBC.saveUser("АРКАДИЧ", "ПИКАЧУ", (byte) 13); +// userDaoJDBC.saveUser("АРМАНЫЧ", "DEAD", (byte) 999); +// userDaoJDBC.getAllUsers(); +//// userDaoJDBC.removeUserById(1); +//// userDaoJDBC.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..3830baa6 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -1,42 +1,95 @@ package jm.task.core.jdbc.dao; import jm.task.core.jdbc.model.User; +import jm.task.core.jdbc.util.Util; +import org.hibernate.Session; +import java.util.ArrayList; import java.util.List; -public class UserDaoHibernateImpl implements UserDao { +public class UserDaoHibernateImpl extends Util implements UserDao { + UserDao dao = new UserDaoJDBCImpl(); + public UserDaoHibernateImpl() { } - - @Override public void createUsersTable() { - + dao.createUsersTable(); } - @Override public void dropUsersTable() { - + dao.dropUsersTable(); } @Override public void saveUser(String name, String lastName, byte age) { - + Session session = this.getSessionFactory().getCurrentSession(); + try { + session.beginTransaction(); + session.save(new User(name, lastName, age)); + session.getTransaction().commit(); + } catch (Exception e) { + if (session != null) { + session.getTransaction().rollback(); + } + e.printStackTrace(); + } finally { + session.close(); + } } @Override public void removeUserById(long id) { - + Session session = this.getSessionFactory().getCurrentSession(); + try { + session.beginTransaction(); + session.delete(session.get(User.class, id)); + session.getTransaction().commit(); + } catch (Exception e) { + if (session != null) { + session.getTransaction().rollback(); + } + e.printStackTrace(); + } finally { + session.close(); + } } @Override public List getAllUsers() { - return null; + List list = new ArrayList<>(); + Session session = this.getSessionFactory().getCurrentSession(); + try { + session.beginTransaction(); + list = session.createQuery("from User").getResultList(); + session.getTransaction().commit(); + System.out.println(list); + }catch(Exception e){ + if(session !=null){ + session.getTransaction().rollback(); + } + e.printStackTrace(); + }finally{ + session.close(); + } + return list; } @Override public void cleanUsersTable() { - + Session session = this.getSessionFactory().getCurrentSession(); + try { + session.beginTransaction(); + session.createQuery("delete User").executeUpdate(); + session.getTransaction().commit(); + } catch (Exception e) { + if (session != null) { + session.getTransaction().rollback(); + } + e.printStackTrace(); + } finally { + 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 7867395a..17e362b0 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java @@ -84,8 +84,7 @@ public List getAllUsers() { String name = resultSet.getString(1); String lastName = resultSet.getString(2); Byte age = resultSet.getByte(3); - User user = new User(name, lastName, age); - list.add(user); + list.add(new User(name, lastName, age)); } System.out.println(list); } catch (SQLException e) { 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 3d70d13f..a37a6b6e 100644 --- a/src/main/java/jm/task/core/jdbc/model/User.java +++ b/src/main/java/jm/task/core/jdbc/model/User.java @@ -1,21 +1,18 @@ package jm.task.core.jdbc.model; -import javax.persistence.Column; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; -@Table +@Entity +@Table(name = "zergy") public class User { @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; - @Column private String name; - @Column private String lastName; - @Column private Byte age; public User() { diff --git a/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java b/src/main/java/jm/task/core/jdbc/service/UserServiceImpl.java index 616a13fc..91f5e7be 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,13 @@ 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.dao.UserDaoHibernateImpl; import jm.task.core.jdbc.model.User; import java.util.List; public class UserServiceImpl implements UserService { - UserDao dao = new UserDaoJDBCImpl(); + UserDao dao = new UserDaoHibernateImpl(); public void createUsersTable() { dao.createUsersTable(); } diff --git a/src/main/java/jm/task/core/jdbc/util/Util.java b/src/main/java/jm/task/core/jdbc/util/Util.java index 8ecaaff7..7410959b 100644 --- a/src/main/java/jm/task/core/jdbc/util/Util.java +++ b/src/main/java/jm/task/core/jdbc/util/Util.java @@ -1,13 +1,42 @@ 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.service.ServiceRegistry; + import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; +import java.util.Properties; public class Util { private final static String URL = "jdbc:mysql://localhost:3306/new_base"; private final static String USER = "root"; private final static String PASSWORD = "springcourse"; + private SessionFactory sessionFactory; + + public SessionFactory getSessionFactory() { + if(sessionFactory == null) { + Configuration config = new Configuration(); + Properties proper = new Properties(); + proper.put("hibernate.connection.driver_class", "com.mysql.cj.jdbc.Driver"); + proper.put("hibernate.connection.url", URL); + proper.put("hibernate.connection.username", USER); + proper.put("hibernate.connection.password", PASSWORD); + proper.put("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); + proper.put("hibernate.current_session_context_class", "thread"); + proper.put("hibernate.show_sql", "true"); + proper.put("hibernate.hbm2ddl.auto", "update"); + config.setProperties(proper); + config.addAnnotatedClass(User.class); + ServiceRegistry service = + new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build(); + sessionFactory = config.buildSessionFactory(service); + } + return sessionFactory; + } public Connection getConnect() { Connection connect = null; diff --git a/target/classes/jm/task/core/jdbc/Main.class b/target/classes/jm/task/core/jdbc/Main.class index b2e9044e5a16a79bd6a29e6a773b0089e7d03bb1..80197c1bb5a8809d3868fd3a3b8bff47e783d394 100644 GIT binary patch delta 540 zcmYLF%TB^j6r5Y34=7Tv2%_bwD~h5hs0&>f7no>bh|&1ipkl;#5EicZ2GX4iKfs+E zNYwZN?)@1}jOP}tZF26Mnd$VL`=C52k&mC3cK~x(@_{3*V8RCp>9%P`Rb*96shAc_ zPLvr1vkLO<&Bu_@ysOsNDmSItQMGEV-2P#Db+#>L$t7XBrwpRR7a@G(aGraX1ZX{jvS^cJEV*VVZCR- zD5BJ97{fR*;^Q}XC=NJ$g|yejz=qX<$KqZt8><~C7FW4u$b?!J_w}L0{Vvj7r1F4c zwD{m3*FlitjNSjC@-zyd(yI~jAq+o~gfa-wO%7rOL6l&iOuO#Tjt8WQ1;R);Q^G{d Q3D`y)3EF{?L0m}c7rFOUs{jB1 delta 560 zcmYLFOHUI~7(I6^oy+vL9S1BA0U4wM9i_Y!B(Sj51q61Waar5hXiG^8CaxO)0Zk#{ z4T%d3tk{%96Mg`z`!Cq~3xMwfj5C>Y&pF?n?{#ACm)#*QXp0q~E_wE4;=Vg>g(Myyg6{FNNf4ru;RTE!O^uv0yZt_cP12RwGr* z8*YX2l>9>Ro4-T@q`uGQC{O>~zz6bkrQ!;^<;BeBybl*P?TQ}*0yGq1GpQtS2hu#e8BV{7@yAZXx^(MKwpFB1Rc{()ge8n z(Xs6C9Sb?izG7BK_@igl5g``+Uo`=Xl9`b7Dyn3YZbt~cqy`bD%|t%56Ij-8QAZ5R{TRcgBtD7D^0T6Ixthckl#{rMYZ|WWxPjMo=vb4Ib@{oO#4X&G zGgCuFE~+{XU_*z6J5pSepSv1t9V1xo!=_x{OTt0D9}T!Vw(v$DJSk~v@HMnF+!u&% zn6ALl(q=v9o6UQ&9{1@0&TtY}9fqzGpXT`EE&3MlTrXvk~372UTm!x7`L$O*G89 z%A?DfK%Zka{UxQ3n>AXAqJY-4noaH%7%914Eq6CeBexPL=yYJkH>>v+%`KIOg8xko z4_HbK+X920Rd<6tirW`97{vI3j5B6)E*1omHOoKiI4W~uJU$Tw-|}rISF)SFjN9Qz z(7H8;_LgLOD=f=P`)toVp+0ri*-<>m7xEh366jyCYphbsWBw<)BKe;_NSdl+nT==_ z^%b|}RjqkjGAJ!IB;6i59GBHF@B)qryzo@6F3c5YC4me)k53tx#4!U?^793JQNx!E zd>LOM^aj3)w*`)L``XP|!`BRa9p8}We$&9W@Q#6Z@wSF<8~BcN`CS>#!Cj(scx2#v zQvZD%)9?f7n-N)6tp8ICdAqJI$4s`_%klgL7GH+IW*W-;CBe9<7wQWJdA9Y0rugHZQ*w97oA=9VB6m0xk&Cv~;^rqi;P?=bc8V*8GE)Z8%r zf3>JcW0G$3s^7{!$2vzHELS$Is-JJ4W4r7(?7EKqmc&_xM_eNTGyT1Y?a}pC-Fn?7 z4STAN+vHJwp6fUjb}e4mEjCkMwJ`3fQW?p-wAt>< z`$LX;XeY;qCty2S7IhQm&L)`*o{38>OA;p+wQ9ct`>FJXG|j0E400bT5heRJ6S!V>qy;d5 z1de(!GKK&rx=i_Q#MX1O*oEHJ0uiOLvK7D^tEs`E8CiM~Bw35Cx|A z8V=zlyo?^M>uoUQ>;!)=%2L$n^`wHnj!)w=EN7B&OcUe;PE$XP#7A`0qhUq^U*^2f za0dLm`Y)vT{fHFkRu+^MqxQk`>C!9B*S2tORo!ae|rHg>hKHIIu@t(7AaQbF2(0FJ9*;E9gAN2=Cy>N*y2qNG^#G?RakwkMduX)KTkpXX|ht8@4q=5d*zmMLGO{1(R= z$4!(vkj|3vlCyDob=r{jVS~HpiAsupwn#{0^c6IlKzE)x335(?%+944dtn#mAqBIs zPeGs;xGBaEh+EiW#0Vv_qBlA~m$CuS+0=7wppUXsP#6NusX};SF-wF)1reSk!lBYw z3T9JeYMkuIkYSRk8C>LPCz+BQqYS-7?FwyH*#NH4ZjI2a)3QvaUL_3I2r@-gn9QdQr%p==VgT8Mgp6H4K^ETb5U+@|(8mpnbQ8nUe*jAV BEcE~Y 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 8763c36e35015d38772d66004ae6e13969155e1e..46e52028e5cd4c6d37a2944cf42a5c2ea620a699 100644 GIT binary patch delta 760 zcmW-fXHOMT5Qd+(G#N=G_2>>~D#xMJ@OyTDbX zDA-VAVsiQ52Y-Yy{sD20*<{X~_sqQWB(sgdpQCEO{q5`qCh^50nS7H1izEvD6jAJF zBPCIkQf5+aQ9-4m$|8ztlTBLRY_i2 z-{t{L1~H|%HMuEUHkGF=Te@h$j{L&vttC~JHV>UtZ=(B=RIl*fj(N-z#Z#MSJhyp4 zv-WFo{Jx~&t%MDt6Cyo*`y=gX2WUx$d;#k0PR^VnZOPR_vT;kwi zIx|EQRMMC%r%4_wStS%%a$#iioC|7y*u_Ogu_Rl#!#UaOMsQ897e1ov3pE_vQTqP9CB- delta 779 zcmW-f=~qo*6vlt&PVc$ro)ng)L9GTAk|i?>3t5XkU|GftnW~G-$xP-cQ(mFWV`kM& zRFq7`r+oBJ@CR6AzrO6@dH1vTbI#sBQmfL+zx{1#14i=IA)6wbVuzuGL#$<8i1m~N z*}z7dO%9vcqS)#XWSdQ?!MEF#+3YaIJ45VZw=sK+*{j&+(APBFZ~Ot9a^nx$95U~R zZH|~c@2Jf&#c_uuQ+vXUJQ?B?r;VvF=8VHx&MD42WN;xwB^QkrZF9+{N^x0nMRB#V z>z9(SS|mo=tdM2<%1Vp2StRM<-Xz`WsZceFYl`cUd~c4GaD$tQTQ0Y`Be2U|?kVoO zJm8^z;L8ovx;)~s{^^Uip6H-I#rsqqvi)~rpYdGr!sR7(F7-4RYQ&D=fvYoZQECrxQ3BR|d;=Z_1# zCUb(yic`%D^0273r=x*DRuhA3v1eyD;bhfe3B8c8tkTB_X*7)(-4UH$K9|KTA)n=9 z3&n<6D!W}Kt1gfeL872sNj5W>D9kYoWTr%Z;m4B4JOa#>iuo)+ks!!I7U89jitjH8ie-xBih|!v?U5lK#bm*- z6jOYxkU9@5g|SLk$IMAAk`ZB|WMDtmktiRKESHr+3F-3J2Dn+)YMs+NMXmYIEBpto Cu%lW4 diff --git a/target/classes/jm/task/core/jdbc/model/User.class b/target/classes/jm/task/core/jdbc/model/User.class index d91cb6441e0e52b2b817f191ce5d241369c6cf6a..fa827848f857de2a38784775488433432ef7fff1 100644 GIT binary patch literal 2059 zcmaKteNWp~6viKiyn@S1ptMldhHfn(q;)&Gu`NKyTf5MdN-IO^pC-9VO%n&%&eU|; zciN;urA_Jw*oT_-96L>%VE8B3=bq<2{+)A=oPYoO`xAgwyc)$6N-3<5B8E~L8?tU@ zFo~z~^kW)Z5^PJblg6$DducqA^|@^RltMX$eGM_IreU&jV*Y9x4b!e0m6lyEX_))D zZF^Qz9a*k*+)!J#-SSM&YT2%aSzrF%I8}~oxt_AC$|%=(=x#*fxw4gGda8D0Hrk4! zwChP+?_8cW_ufe4`<5n@y!58^V3}^mVK4 zRMj&}x}1@QJ(S7QFz?qtI8u8YK(E7&&P62sOJOeYK{@q~jyuR{xX~ZupqlNr)u<_l zmm=@_&8ltac!7$JET-k@B{RjGOx4Dcj(OaY%>xa3G52|#B(Z>79G+s1b47zMa9hWH zENNJ{Y7{tueVkXvC#vev#5_G!HgE7jRO>GcL6@I(4(J27(#7HG>lgAnm#4AF@4ytl zByoNU*a~n|8BH;|&UKdY4TYPS;|80;t(f${Us*lZF-q8S{w^|F<*IQ_6h1=x)0f@l zuY71g|2W;h@OtGk;?@dw>v5Q?Pld^1F_-y^t#e3zg>b)4!MDWR}(hD@P&2EFj$ z4CDQZW|5#KN97_ibRVbdG~J}SLU6w8O((x~Qq_##Jn6-Z3=c;5&SmO@+6}Iv^6MSO zUJ79+de|!{b`Nh7Ta1%}oa}=JtzRK-(RY{)R6V$4_u4sFy-Ns#WQIYENRWq+LyH6$ z0Lcu4tP|dgo~5X8N5+Rio<@Q^ s!8f$H(2>v#1y{2}kljl_WJdVUjBkk$!y2asnBdcQT)$^#-o+391F#u;p8x;= literal 1971 zcmaKsdruQV6vfY$K4Ili5PVdvqEbp_6%(;j2 zw0COOs^hqx>DjK+)G+F&e>C>3M$>M3mQ%5e%_@uHj#;-fWJ7YVyoT)yUWh1KcWbS> z!@_jUYv^lbV>Moz1eLG5 z6|=T&Hf&i3!MOL%Ci&&^UfuA_=6j>!HY{VWx>GUg)TtS7npQ(VJXaBG7%5CfonyXm zGWy?$k1xcDUCY~~+u38nf!~Ry+8hqc`+HKFVyUtx#XL1T8_o=DmfSw(mfLprF~74) za&J}qJxXb&719#~AyflxNFO-~uk{ z7{_%Dx&PfVo2!HKVrS2)coZ@B_brE)b1TZ#6ZaeNvtf?qE477_ebdR$71mGR##O%0 zA-?c9pD3*WyO66S$Fm$`;zTHR&X3WA6ERxR73<@gcfsGwteWMhaZD6{K>Oy)T;Z?$ zGk~9pQ!>w)u9Ap#jVn#e<*x{M%oKsGUx>Z^fu3yqkYeAFJVYv+R`U#p!HGlkX8Tk? zZwJn(KtHnwzcAwv17E2YgHXtE!2{&^s|dE*1UcLY2x`oZGh;-KP@FnIrdT?FUc7aH z{?3U;kzmd^Gp{4V+J4-mtrNa>QPl_9R0`~snV2eGj7V3Zhu^%(Ds^^)qY(P%?Zz&K zuoG?U0w#mvWy*?hQjn7!P-XozaSdN#RAsf{l0iRcD7G&l43g;vnTZ6MLMaL)(+x65 zkoi+UR1>oGBSG|TkcW{V)6pP$H^?$UR!#v?ov+cc+rgp2j`VkftVM#{!Az7Rp&n9K Xvq6xjr+}#E7UQ#$9=_XtwD*92S#4F< diff --git a/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class index e0898fe7b10c92b64c1dc7ed2b204ed7140d9bc1..9d4abf60d89041ae81924b0820a9ae15a53c7345 100644 GIT binary patch delta 28 kcmdnXb%<+&789e^_#lZkEUHMW$VlB1@!cWxoH|j(=8a; z(0AOzj6mm{=LVtahAU>VVhgk`XKyYEsCQ?x+0{Es^8#Ig9R!Z&E|^y6`P%|V(w<*1 z)}5T~yJlz`*?s54Y`^BXPI#Sm$4{>ia?Z;WxjXH+_U%fE*Y2CSB6sw(XPLzn(|6>$ zy4f18JAuGRdZT27X7I?cJl{4p@;S?>gig^|=7TnR3wF5Qu)x^(>Hl=i^4y0`LEvbE zruDF3kP4nvd^2RYGLEwEm2F>OAZ9MIe>d6-9Xp_g64?HxV=3CO zRMjCmpUV5rrtPm;MKfS#hb*s@Ds3~sl(mtPiA~K%3L1(i@%)t-6~8EO=wE6=;Dp4Q zj*zDfqbO@@-3!9$^XJcAGF*FWEoTM{dF0jjOqgqyc;4!J9y9T3wK7B4^8CDj7L;WR zStL`U_SR7Ij#-S7d7Lz+n)XwfZ6@#H{I1rinub;JecKJ!svWmR4nzA%xXWC7xbE8~ zZR@ow!MeA#MlR`h=*tEksGY6nO6T(VV#=(99;>-h&a+)LxZvt=GnFN_Df^2=Xei^c z!1Vqy$dMPruNE>Vi0S4{Ki^Q`H!4msFA;nM8bVYwY+_5p6KpH^Lc^E%N}zwQ#Oupg z!`Da&^hAfzl)97Kh=}al)322@r%SoQJY5-&3%>5cO!H2)tLl~5iGdx~+F9Ug6{?}E zXBwwUQ$NUgWajg;uIq)QI6oIx`h|MeqP^FG>f}JEcWY>OCN%oR2+VT1xSh4bkfq4p z%G5`|5z}Pv|KyNSwdG_w1ui#D*4F|eLSKZ?IH_-qzvj4Xq<%jT@dx%wBOW3d(=`in zW=j_9t7Vs(`p;ioom4-F%{%`zkGp02htVv*@0*s5qx{&P(*UdPt>h@sKcpC-4@>A5a!e1%HUh@-8S(8;)e+8ET8SsW*6R~ti=jA$A284d;u5v z#v^;o$*7QrX@!g)8(iL6ZLC5Npp47Ei=+wJnpBe*V z(*ha80($xEhk^lgW01cgjNu?@8fGkqFvI^c^B6$}N3eoXtnpM5T*NVsl;e1c6Zn=S zOAaO&XE(>oC0u6ggPdGfaFvukMF*yd)IyzSRfeunZiD!Pmj&L&^_VPtME8s2K)#V)8k)WEQ(=ICg)SNsxvU%$i2JyP35f=IsE3lP-->uZM2EgLkPz k+^YEmHD+;xc+!zRB>v*ngn~JR(Fz4OTY0p=qXcgK4I_!nyZ`_I delta 451 zcmYjNyG{Z@6g@M$%Pi|6xI7emfNy0HG@4kNSZD(kT3W0~3`&G7XiIHkV>W(+tu{(5 z`~W^mJ&P7L_s+TZJZ@%`8Y*}6_3;T{7dsZBSW;Lvv0`G?#F~Y5Y$$A6P$(+6k530d zL|g=Wvbir1tM|Rebwc%x7qEL>zjbrjAiGEXmW?th0_nh$X~V`g*@uQ3`08OGc^aT02MZIRlt_+o>>t*- zpZtdnazvQQIz>f=U9cO)cZk=qg~J*d4;7Mp+rI>)kR}qyV48Ihs_&Vnv1dfp(Hz|| zhKN+3Vb)4-Fx?l@B;|4bm4?tZM`IwyX`FLsd`E(Jq!<)N7063K#|*OM(DyG?vga^M bzd25mkl)D0Ar Date: Fri, 19 Nov 2021 02:53:07 +1000 Subject: [PATCH 7/7] Hibernate --- .../core/jdbc/dao/UserDaoHibernateImpl.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 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 3830baa6..61115971 100644 --- a/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java +++ b/src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java @@ -58,22 +58,22 @@ public void removeUserById(long id) { @Override public List getAllUsers() { - List list = new ArrayList<>(); - Session session = this.getSessionFactory().getCurrentSession(); - try { - session.beginTransaction(); - list = session.createQuery("from User").getResultList(); - session.getTransaction().commit(); - System.out.println(list); - }catch(Exception e){ - if(session !=null){ - session.getTransaction().rollback(); + List list = new ArrayList<>(); + Session session = this.getSessionFactory().getCurrentSession(); + try { + session.beginTransaction(); + list = session.createQuery("from User").getResultList(); + session.getTransaction().commit(); + System.out.println(list); + } catch (Exception e) { + if (session != null) { + session.getTransaction().rollback(); + } + e.printStackTrace(); + } finally { + session.close(); } - e.printStackTrace(); - }finally{ - session.close(); - } - return list; + return list; } @Override