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/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_25.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_25.xml
new file mode 100644
index 00000000..3eb0cdbc
--- /dev/null
+++ b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_25.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
new file mode 100644
index 00000000..f58bbc11
--- /dev/null
+++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_5_Final.xml b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_5_Final.xml
new file mode 100644
index 00000000..9ed6d297
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_5_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_core_4_3_10_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_core_4_3_10_Final.xml
new file mode 100644
index 00000000..0f9bf7c2
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_hibernate_core_4_3_10_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml
new file mode 100644
index 00000000..1d8ce405
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml b/.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml
new file mode 100644
index 00000000..1f907308
--- /dev/null
+++ b/.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jboss_jandex_1_1_0_Final.xml b/.idea/libraries/Maven__org_jboss_jandex_1_1_0_Final.xml
new file mode 100644
index 00000000..d3cd0897
--- /dev/null
+++ b/.idea/libraries/Maven__org_jboss_jandex_1_1_0_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_3_GA.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_3_GA.xml
new file mode 100644
index 00000000..815ab4d8
--- /dev/null
+++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_3_GA.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_annotations_1_2_0_Beta1.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_annotations_1_2_0_Beta1.xml
new file mode 100644
index 00000000..715be298
--- /dev/null
+++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_annotations_1_2_0_Beta1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_2_spec_1_0_0_Final.xml b/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_2_spec_1_0_0_Final.xml
new file mode 100644
index 00000000..2ab91298
--- /dev/null
+++ b/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_2_spec_1_0_0_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml b/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml
new file mode 100644
index 00000000..c36e7171
--- /dev/null
+++ b/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..5ac47e8d
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..882550cd
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..94a25f7f
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 00000000..c4958b41
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1629307908222
+
+
+ 1629307908222
+
+
+
+
+
+
+
+
+
+
+ 1629567036372
+
+
+
+ 1629567036373
+
+
+ 1629567166350
+
+
+
+ 1629567166350
+
+
+ 1629644424350
+
+
+
+ 1629644424350
+
+
+ 1629646148219
+
+
+
+ 1629646148219
+
+
+ 1629723403930
+
+
+
+ 1629723403930
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TaskJDBC.iml b/TaskJDBC.iml
new file mode 100644
index 00000000..b12d7cb4
--- /dev/null
+++ b/TaskJDBC.iml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 0605a4c0..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..3044d57b 100644
--- a/src/main/java/jm/task/core/jdbc/Main.java
+++ b/src/main/java/jm/task/core/jdbc/Main.java
@@ -1,7 +1,28 @@
package jm.task.core.jdbc;
+import jm.task.core.jdbc.model.User;
+import jm.task.core.jdbc.service.UserServiceImpl;
+
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
public class Main {
- public static void main(String[] args) {
- // реализуйте алгоритм здесь
+ public static void main(String[] args) throws SQLException {
+ UserServiceImpl serv = new UserServiceImpl();
+ serv.createUsersTable();
+
+ serv.saveUser("Petr", "Petrov", (byte) 24);
+ serv.saveUser("Igor", "Ivanov", (byte) 35);
+ serv.saveUser("Ivan", "Sidorov", (byte) 30);
+ serv.saveUser("Alexsander", "Romanov", (byte) 40);
+
+ List users = serv.getAllUsers();
+ for(User u: users){
+ System.out.println(u.toString());
+ }
+
+ serv.cleanUsersTable();
+ serv.dropUsersTable();
}
}
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/dao/UserDaoJDBCImpl.java b/src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java
index a6c6c359..5039d9a0 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,154 @@
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() {
+ public void createUsersTable() throws SQLException {
+ Connection connection = setConnection();
+ Statement statement = null;
+ String sql = "CREATE TABLE users (ID BIGINT NOT NULL AUTO_INCREMENT, NAME VARCHAR(100) NOT NULL, " +
+ "LASTNAME VARCHAR(100) NOT NULL, AGE INT NOT NULL, PRIMARY KEY (ID))";
+ try {
+ connection.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
+ connection.setAutoCommit(false);
- }
+ statement = connection.createStatement();
+ statement.executeUpdate(sql);
- public void dropUsersTable() {
+ connection.commit();
+ } catch (SQLException e){
+ System.out.println("Таблица уже существует");
+ //e.printStackTrace();
+ } finally {
+ if (statement != null){
+ statement.close();
+ }
+ if (connection != null){
+ connection.close();
+ }
+ }
+ }
+ public void dropUsersTable() throws SQLException {
+ Connection connection = setConnection();
+ Statement statement = null;
+ String sql = "DROP TABLE users";
+ try {
+ statement = connection.createStatement();
+ statement.executeUpdate(sql);
+ } catch (SQLException e){
+ //ignored
+ } finally {
+ if (statement != null){
+ statement.close();
+ }
+ if (connection != null){
+ connection.close();
+ }
+ }
}
- public void saveUser(String name, String lastName, byte age) {
+ public void saveUser(String name, String lastName, byte age) throws SQLException {
+ Connection connection = setConnection();
+ PreparedStatement preparestatement = null;
+ String sql = "INSERT INTO users (NAME, LASTNAME, AGE) VALUES (?, ?, ?)";
+ try {
+ preparestatement = connection.prepareStatement(sql);
+ preparestatement.setString(1, name);
+ preparestatement.setString(2, lastName);
+ preparestatement.setInt(3, age);
+
+ preparestatement.executeUpdate();
+ System.out.println("User с именем " + name + " добавлен в базу данных ");
+ } catch (SQLException e){
+ //ignored
+ } finally {
+ if (preparestatement != null){
+ preparestatement.close();
+ }
+ if (connection != null){
+ connection.close();
+ }
+ }
}
- public void removeUserById(long id) {
+ public void removeUserById(long id) throws SQLException {
+ Connection connection = setConnection();
+ PreparedStatement preparestatement = null;
+ String sql = "DELETE FROM users WHERE ID = (?)";
+ try {
+ preparestatement = connection.prepareStatement(sql);
- }
+ preparestatement.setInt(1, (int) id);
+ preparestatement.executeUpdate();
- public List getAllUsers() {
- return null;
+ } catch (SQLException e){
+ //ignored
+ } finally {
+ if (preparestatement != null){
+ preparestatement.close();
+ }
+ if (connection != null){
+ connection.close();
+ }
+ }
}
- public void cleanUsersTable() {
+ public List getAllUsers() throws SQLException {
+ Connection connection = setConnection();
+ Statement statement = null;
+ ResultSet result;
+ String sql = "SELECT * FROM users";
+ List userList = new ArrayList<>();
+ try {
+ statement = connection.createStatement();
+ result = statement.executeQuery(sql);
+ while (result.next()){
+ User us = new User(result.getString(2), result.getString(3), (byte) result.getInt(4));
+ us.setId((long) result.getInt(1));
+ //System.out.println(us.toString());
+ userList.add(us);
+ }
+ } catch (SQLException e) {
+ //ignored
+ } finally {
+ if (statement != null){
+ statement.close();
+ }
+ if (connection != null){
+ connection.close();
+ }
+ }
+ return userList;
+ }
+ public void cleanUsersTable() throws SQLException {
+ Connection connection = setConnection();
+ Statement statement = null;
+ String sql = "TRUNCATE TABLE users";
+ try {
+ statement = connection.createStatement();
+ statement.executeUpdate(sql);
+ } catch (SQLException e){
+ System.out.println("Таблицы не существует");
+ } finally {
+ if (statement != null){
+ statement.close();
+ }
+ if (connection != null){
+ connection.close();
+ }
+ }
}
}
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..f8eef6ad 100644
--- a/src/main/java/jm/task/core/jdbc/model/User.java
+++ b/src/main/java/jm/task/core/jdbc/model/User.java
@@ -18,7 +18,7 @@ public class User {
@Column
private Byte age;
- public User() {
+ public User(int anInt, String string, String resultString, byte resultInt) {
}
@@ -29,34 +29,47 @@ public User(String name, String lastName, Byte age) {
}
public Long getId() {
+
return id;
}
public void setId(Long id) {
+
this.id = id;
}
public String getName() {
+
return name;
}
public void setName(String name) {
+
this.name = name;
}
public String getLastName() {
+
return lastName;
}
public void setLastName(String lastName) {
+
this.lastName = lastName;
}
public Byte getAge() {
+
return age;
}
public void setAge(Byte age) {
+
this.age = age;
}
+ @Override
+ public String toString(){
+
+ return id + " " + name + " " + lastName + " " + 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..30c2a9a6 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,38 @@
package jm.task.core.jdbc.service;
+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 {
- public void createUsersTable() {
+public class UserServiceImpl extends UserDaoJDBCImpl implements UserService {
- }
-
- public void dropUsersTable() {
+ UserDaoJDBCImpl dao = new UserDaoJDBCImpl();
+ public void createUsersTable() throws SQLException {
+ dao.createUsersTable();
}
- public void saveUser(String name, String lastName, byte age) {
-
+ public void dropUsersTable() throws SQLException {
+ dao.dropUsersTable();
}
- public void removeUserById(long id) {
-
+ public void saveUser(String name, String lastName, byte age) throws SQLException {
+ //UserDaoJDBCImpl dao = new UserDaoJDBCImpl();
+ dao.saveUser(name, lastName, age);
}
- public List getAllUsers() {
- return null;
+ public void removeUserById(long id) throws SQLException {
+ dao.removeUserById(id);
}
- public void cleanUsersTable() {
+ public List getAllUsers() throws SQLException {
+
+ return dao.getAllUsers();
+ }
+ public void cleanUsersTable() throws SQLException {
+ 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..17f7ba3f 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,29 @@
package jm.task.core.jdbc.util;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
public class Util {
- // реализуйте настройку соеденения с БД
+ private static final String BD_URL = "jdbc:mysql://localhost:3306/idea";
+ private static final String BD_USER = "root";
+ private static final String BD_PASSWORD = "qw009719er";
+ private static final String BD_DRIVER = "com.mysql.cj.jdbc.Driver";
+
+
+
+ public Connection setConnection() {
+ Connection con = null;
+ try {
+ Class.forName(BD_DRIVER);
+ con = DriverManager.getConnection(BD_URL, BD_USER, BD_PASSWORD);
+ //System.out.println("Соединение установленно");
+ } catch (SQLException | ClassNotFoundException e){
+ e.printStackTrace();
+ System.out.println("Ошибка соединения");
+ }
+ return con;
+ }
+
+
}
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 00000000..4e1b2ff3
Binary files /dev/null and b/target/classes/jm/task/core/jdbc/Main.class differ
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 00000000..486e637c
Binary files /dev/null and b/target/classes/jm/task/core/jdbc/dao/UserDao.class differ
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 00000000..cf21855d
Binary files /dev/null and b/target/classes/jm/task/core/jdbc/dao/UserDaoHibernateImpl.class differ
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 00000000..01e6b8a0
Binary files /dev/null and b/target/classes/jm/task/core/jdbc/dao/UserDaoJDBCImpl.class differ
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 00000000..bf701bf9
Binary files /dev/null and b/target/classes/jm/task/core/jdbc/model/User.class differ
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 00000000..75afa899
Binary files /dev/null and b/target/classes/jm/task/core/jdbc/service/UserService.class differ
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 00000000..0a6cb08a
Binary files /dev/null and b/target/classes/jm/task/core/jdbc/service/UserServiceImpl.class differ
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 00000000..964acf60
Binary files /dev/null and b/target/classes/jm/task/core/jdbc/util/Util.class differ
diff --git a/target/test-classes/UserServiceTest.class b/target/test-classes/UserServiceTest.class
new file mode 100644
index 00000000..3e86d3f4
Binary files /dev/null and b/target/test-classes/UserServiceTest.class differ