├── .gitignore
├── README.md
├── pom.xml
└── src
├── main
├── java
│ ├── Main.java
│ ├── dao
│ │ ├── UserDAO.java
│ │ ├── UserDAOHibernateImpl.java
│ │ └── UserDAOJDBCImpl.java
│ ├── model
│ │ └── User.java
│ ├── service
│ │ ├── UserService.java
│ │ ├── UserServiceHibernateImpl.java
│ │ └── UserServiceJDBCImpl.java
│ └── util
│ │ └── Util.java
└── resources
│ ├── hibernate.cfg.xml
│ └── hibernate.properties
└── test
└── java
└── service
├── UserDAOJDBCImplTest.java
└── UserServiceHibernateImplTest.java
/.gitignore:
--------------------------------------------------------------------------------
1 | target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 | !**/src/main/**/target/
4 | !**/src/test/**/target/
5 |
6 | ### IntelliJ IDEA ###
7 | .idea
8 | *.iws
9 | *.iml
10 | *.ipr
11 |
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # IntoductionJDBCAndHibernate
2 |
3 | In this project, we work in Java with a local database using the JDBC standard and the Hibernate framework: we establish a connection to the database, create a user table, add users to the database, get a list of users, remove users from the table and delete the table itself. Hibernate is configured in three different ways:
4 |
5 | - passing an instance of java.util.Properties to Configuration.setProperties();
6 | - placing a file named hibernate.properties in the root of the classpath;
7 | - inclusion of elements in the hibernate.cfg.xml file.
8 |
9 | ----
10 |
11 | В этом проекте мы работаем в Java с локальной базой данных, используя стандарт JDBC и фреймворк Hibernate: устанавливаем соединение с базой данных, создаем таблицу пользователей, добавляем пользователей в базу данных, получаем список пользователей, удаляем пользователей из таблицы и удаляем саму таблицу. Hibernate настраиваем тремя различными способами:
12 |
13 | - передачей экземпляра java.util.Properties в Configuration.setProperties();
14 | - размещение файла с именем hibernate.properties в корне classpath;
15 | - включение элементов в файл hibernate.cfg.xml.
16 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | IntoductionJDBCAndHibernate
8 | IntoductionJDBCAndHibernate
9 | 1.0-SNAPSHOT
10 |
11 |
12 | 17
13 | 17
14 | UTF-8
15 |
16 |
17 |
18 |
19 | org.projectlombok
20 | lombok
21 | 1.18.26
22 | provided
23 |
24 |
25 |
26 | org.junit.jupiter
27 | junit-jupiter-api
28 | 5.9.2
29 | test
30 |
31 |
32 |
33 | mysql
34 | mysql-connector-java
35 | 8.0.33
36 |
37 |
38 |
39 | org.hibernate.javax.persistence
40 | hibernate-jpa-2.1-api
41 | 1.0.2.Final
42 |
43 |
44 |
45 | org.hibernate
46 | hibernate-core
47 | 5.6.8.Final
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/src/main/java/Main.java:
--------------------------------------------------------------------------------
1 | import dao.UserDAO;
2 | import dao.UserDAOJDBCImpl;
3 | import model.User;
4 | import service.UserService;
5 | import service.UserServiceHibernateImpl;
6 | import service.UserServiceJDBCImpl;
7 | import util.Util;
8 |
9 | import java.util.List;
10 |
11 | public class Main {
12 |
13 | public static void main(String[] args) {
14 | //scryptJDBC();
15 | scryptHibernate();
16 |
17 | }
18 |
19 | private static void scryptJDBC() {
20 | Util.getJDBCConnection();
21 | UserService userService = new UserServiceJDBCImpl();
22 | userService.createUserTable();
23 | userService.saveUser("Андрей", "Иванов", (byte) 25);
24 | userService.saveUser("name1", "lastName1", (byte) 35);
25 | userService.saveUser("name2", "lastName2", (byte) 45);
26 | userService.saveUser("name3", "lastName3", (byte) 65);
27 | List allUsers = userService.getAllUsers();
28 | allUsers.forEach(System.out::println);
29 | userService.clearUserTable();
30 | userService.dropUserTable();
31 | }
32 |
33 | private static void scryptHibernate() {
34 | Util.getHibernateConnection();
35 | UserService userService = new UserServiceHibernateImpl();
36 | userService.createUserTable();
37 | userService.saveUser("Андрей", "Иванов", (byte) 25);
38 | userService.saveUser("name1", "lastName1", (byte) 35);
39 | userService.saveUser("name2", "lastName2", (byte) 45);
40 | userService.saveUser("name3", "lastName3", (byte) 65);
41 | List allUsers = userService.getAllUsers();
42 | allUsers.forEach(System.out::println);
43 | userService.clearUserTable();
44 | userService.dropUserTable();
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/src/main/java/dao/UserDAO.java:
--------------------------------------------------------------------------------
1 | package dao;
2 |
3 | import model.User;
4 |
5 | import java.util.List;
6 |
7 | public interface UserDAO {
8 |
9 | void createUserTable();
10 |
11 | void dropUserTable();
12 |
13 | void saveUser(String name, String lastName, byte age);
14 |
15 | void removeUserById(long id);
16 |
17 | List getAllUsers();
18 |
19 | void clearUserTable();
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/dao/UserDAOHibernateImpl.java:
--------------------------------------------------------------------------------
1 | package dao;
2 |
3 | import model.User;
4 | import org.hibernate.HibernateException;
5 | import org.hibernate.Session;
6 | import org.hibernate.SessionFactory;
7 | import org.hibernate.Transaction;
8 | import util.Util;
9 |
10 | import java.util.List;
11 |
12 | public class UserDAOHibernateImpl implements UserDAO {
13 |
14 | private final SessionFactory sessionFactory = Util.getSessionFactory();
15 |
16 | @Override
17 | public void createUserTable() {
18 | String sql = "CREATE TABLE IF NOT EXISTS user (id BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(45), lastName VARCHAR(45), age TINYINT(3))";
19 | try (Session session = sessionFactory.openSession()) {
20 | Transaction transaction = session.beginTransaction();
21 | session.createSQLQuery(sql).executeUpdate();
22 | transaction.commit();
23 | } catch (HibernateException e) {
24 | throw new RuntimeException(e);
25 | }
26 | }
27 |
28 | @Override
29 | public void dropUserTable() {
30 | String sql = "DROP TABLE IF EXISTS user";
31 | try (Session session = sessionFactory.openSession()) {
32 | Transaction transaction = session.beginTransaction();
33 | session.createSQLQuery(sql).executeUpdate();
34 | transaction.commit();
35 | } catch (HibernateException e) {
36 | throw new RuntimeException(e);
37 | }
38 | }
39 |
40 | @Override
41 | public void saveUser(String name, String lastName, byte age) {
42 | Transaction transaction = null;
43 | try (Session session = sessionFactory.openSession()) {
44 | transaction = session.beginTransaction();
45 | session.persist(new User(name, lastName, age));
46 | transaction.commit();
47 | System.out.println("User с именем" + name + " фамилией " + lastName + " добавлен в базу данных");
48 | } catch (HibernateException e) {
49 | if (transaction != null) {
50 | transaction.rollback();
51 | }
52 | throw new RuntimeException(e);
53 | }
54 |
55 | }
56 |
57 | @Override
58 | public void removeUserById(long id) {
59 | Transaction transaction = null;
60 | try (Session session = sessionFactory.openSession()) {
61 | transaction = session.beginTransaction();
62 | User user = session.get(User.class, id);
63 | session.delete(user);
64 | transaction.commit();
65 | } catch (HibernateException e) {
66 | if (transaction != null) {
67 | transaction.rollback();
68 | }
69 | throw new RuntimeException(e);
70 | }
71 |
72 | }
73 |
74 | @Override
75 | public List getAllUsers() {
76 | List userList;
77 | Transaction transaction = null;
78 | try (Session session = sessionFactory.openSession()) {
79 | transaction = session.beginTransaction();
80 | userList = session.createQuery("from User").list();
81 | transaction.commit();
82 | } catch (HibernateException e) {
83 | if (transaction != null) {
84 | transaction.rollback();
85 | }
86 | throw new RuntimeException(e);
87 | }
88 | return userList;
89 | }
90 |
91 | @Override
92 | public void clearUserTable() {
93 | String sql = "TRUNCATE TABLE user";
94 | try (Session session = sessionFactory.openSession()) {
95 | Transaction transaction = session.beginTransaction();
96 | session.createSQLQuery(sql).executeUpdate();
97 | transaction.commit();
98 | } catch (HibernateException e) {
99 | throw new RuntimeException(e);
100 | }
101 | }
102 | }
103 |
--------------------------------------------------------------------------------
/src/main/java/dao/UserDAOJDBCImpl.java:
--------------------------------------------------------------------------------
1 | package dao;
2 |
3 | import model.User;
4 | import util.Util;
5 |
6 | import java.sql.*;
7 | import java.util.ArrayList;
8 | import java.util.List;
9 |
10 | public class UserDAOJDBCImpl implements UserDAO {
11 |
12 | private Connection connection = Util.getJDBCConnection();
13 |
14 | @Override
15 | public void createUserTable() {
16 | String sql = "CREATE TABLE IF NOT EXISTS user (id BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(45), lastName VARCHAR(45), age TINYINT(3))";
17 | try (Statement statement = connection.createStatement()) {
18 | statement.executeUpdate(sql);
19 | } catch (SQLException e) {
20 | throw new RuntimeException(e);
21 | }
22 | }
23 |
24 | @Override
25 | public void dropUserTable() {
26 | String sql = "DROP TABLE IF EXISTS user";
27 | try (Statement statement = connection.createStatement()) {
28 | statement.executeUpdate(sql);
29 | } catch (SQLException e) {
30 | throw new RuntimeException(e);
31 | }
32 | }
33 |
34 | @Override
35 | public void saveUser(String name, String lastName, byte age) {
36 | String sql = "INSERT INTO user (name, lastName, age) VALUES (?, ?, ?)";
37 | try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
38 | preparedStatement.setString(1, name);
39 | preparedStatement.setString(2, lastName);
40 | preparedStatement.setByte(3, age);
41 | preparedStatement.executeUpdate();
42 | connection.commit();
43 | System.out.println("User с именем " + name + " фамилией " + lastName + " добавлен в базу данных");
44 | } catch (SQLException e) {
45 | try {
46 | connection.rollback();
47 | } catch (SQLException ex) {
48 | throw new RuntimeException(ex);
49 | }
50 | throw new RuntimeException(e);
51 | }
52 |
53 | }
54 |
55 | @Override
56 | public void removeUserById(long id) {
57 | String sql = "DELETE FROM user WHERE id = ?";
58 | try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
59 | preparedStatement.setLong(1, id);
60 | preparedStatement.executeUpdate();
61 | connection.commit();
62 | } catch (SQLException e) {
63 | try {
64 | connection.rollback();
65 | } catch (SQLException ex) {
66 | throw new RuntimeException(ex);
67 | }
68 | throw new RuntimeException(e);
69 | }
70 | }
71 |
72 | @Override
73 | public List getAllUsers() {
74 | List userList = new ArrayList<>();
75 | String sql = "SELECT id, name, lastName, age FROM user";
76 | try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
77 | ResultSet resultSet = preparedStatement.executeQuery();
78 | while (resultSet.next()) {
79 | User user = new User(resultSet.getString("name"), resultSet.getString("lastName"), resultSet.getByte("age"));
80 | user.setId(resultSet.getLong("id"));
81 | userList.add(user);
82 | }
83 | connection.commit();
84 | } catch (SQLException e) {
85 | try {
86 | connection.rollback();
87 | } catch (SQLException ex) {
88 | throw new RuntimeException(ex);
89 | }
90 | throw new RuntimeException(e);
91 | }
92 | return userList;
93 | }
94 |
95 | @Override
96 | public void clearUserTable() {
97 | String sql = "TRUNCATE TABLE user";
98 | try (Statement statement = connection.createStatement()) {
99 | statement.executeUpdate(sql);
100 | } catch (SQLException e) {
101 | throw new RuntimeException(e);
102 | }
103 | }
104 |
105 | }
106 |
--------------------------------------------------------------------------------
/src/main/java/model/User.java:
--------------------------------------------------------------------------------
1 | package model;
2 |
3 | import lombok.*;
4 |
5 | import javax.persistence.*;
6 |
7 | @Data
8 | @NoArgsConstructor
9 | @AllArgsConstructor
10 | @Entity
11 | @Table(name = "user")
12 | public class User {
13 | @Id
14 | @GeneratedValue(strategy = GenerationType.IDENTITY)
15 | private long id;
16 | @Column
17 | private String name;
18 | @Column
19 | private String lastName;
20 | @Column
21 | private byte age;
22 |
23 | public User(String name, String lastName, byte age) {
24 | this.name = name;
25 | this.lastName = lastName;
26 | this.age = age;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/service/UserService.java:
--------------------------------------------------------------------------------
1 | package service;
2 |
3 | import model.User;
4 |
5 | import java.util.List;
6 |
7 | public interface UserService {
8 |
9 | void createUserTable();
10 |
11 | void dropUserTable();
12 |
13 | void saveUser(String name, String lastName, byte age);
14 |
15 | void removeUserById(long id);
16 |
17 | List getAllUsers();
18 |
19 | void clearUserTable();
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/service/UserServiceHibernateImpl.java:
--------------------------------------------------------------------------------
1 | package service;
2 |
3 | import dao.UserDAO;
4 | import dao.UserDAOHibernateImpl;
5 | import model.User;
6 |
7 | import java.util.List;
8 |
9 | public class UserServiceHibernateImpl implements UserService {
10 |
11 | private UserDAO userDAO = new UserDAOHibernateImpl();
12 |
13 |
14 | @Override
15 | public void createUserTable() {
16 | userDAO.createUserTable();
17 | }
18 |
19 | @Override
20 | public void dropUserTable() {
21 | userDAO.dropUserTable();
22 |
23 | }
24 |
25 | @Override
26 | public void saveUser(String name, String lastName, byte age) {
27 | userDAO.saveUser(name, lastName, age);
28 | }
29 |
30 | @Override
31 | public void removeUserById(long id) {
32 | userDAO.removeUserById(id);
33 |
34 | }
35 |
36 | @Override
37 | public List getAllUsers() {
38 | return userDAO.getAllUsers();
39 | }
40 |
41 | @Override
42 | public void clearUserTable() {
43 | userDAO.clearUserTable();
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/java/service/UserServiceJDBCImpl.java:
--------------------------------------------------------------------------------
1 | package service;
2 |
3 | import dao.UserDAO;
4 | import dao.UserDAOJDBCImpl;
5 | import model.User;
6 |
7 | import java.util.List;
8 |
9 | public class UserServiceJDBCImpl implements UserService {
10 |
11 | private UserDAO userDAO = new UserDAOJDBCImpl();
12 |
13 | @Override
14 | public void createUserTable() {
15 | userDAO.createUserTable();
16 | }
17 |
18 | @Override
19 | public void dropUserTable() {
20 | userDAO.dropUserTable();
21 | }
22 |
23 | @Override
24 | public void saveUser(String name, String lastName, byte age) {
25 | userDAO.saveUser(name, lastName, age);
26 | }
27 |
28 | @Override
29 | public void removeUserById(long id) {
30 | userDAO.removeUserById(id);
31 | }
32 |
33 | @Override
34 | public List getAllUsers() {
35 | return userDAO.getAllUsers();
36 | }
37 |
38 | @Override
39 | public void clearUserTable() {
40 | userDAO.clearUserTable();
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/java/util/Util.java:
--------------------------------------------------------------------------------
1 | package util;
2 |
3 | import model.User;
4 | import org.hibernate.SessionFactory;
5 | import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
6 | import org.hibernate.cfg.Configuration;
7 | import org.hibernate.cfg.Environment;
8 | import org.hibernate.service.ServiceRegistry;
9 |
10 | import java.sql.Connection;
11 | import java.sql.DriverManager;
12 | import java.sql.SQLException;
13 | import java.util.Properties;
14 |
15 | public class Util {
16 | private static final String URL = "jdbc:mysql://localhost:3306/test";
17 | private static final String USER_NAME = "root";
18 | private static final String PASSWORD = "root";
19 |
20 | private static SessionFactory sessionFactory;
21 |
22 | private Util() {
23 | }
24 |
25 | public static Connection getJDBCConnection() {
26 | Connection connection;
27 | try {
28 | connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
29 | connection.setAutoCommit(false);
30 | } catch (SQLException e) {
31 | System.out.println("Соединение не установлено...");
32 | throw new RuntimeException(e);
33 | }
34 | return connection;
35 | }
36 |
37 | public static SessionFactory getHibernateConnection(){
38 | if (sessionFactory == null) {
39 | try {
40 | Configuration configuration = new Configuration();
41 |
42 | Properties properties = new Properties();
43 | properties.put(Environment.DRIVER, "com.mysql.cj.jdbc.Driver");
44 | properties.put(Environment.URL, URL);
45 | properties.put(Environment.USER, USER_NAME);
46 | properties.put(Environment.PASS, PASSWORD);
47 | properties.put(Environment.DIALECT, "org.hibernate.dialect.MySQL5Dialect");
48 | properties.put(Environment.SHOW_SQL, "true");
49 | properties.put(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread");
50 | properties.put(Environment.HBM2DDL_AUTO, "create-drop");
51 |
52 | configuration.setProperties(properties);
53 |
54 | configuration.addAnnotatedClass(User.class);
55 |
56 | ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
57 | .applySettings(configuration.getProperties()).build();
58 |
59 | sessionFactory = configuration.buildSessionFactory(serviceRegistry);
60 | } catch (Exception e) {
61 | e.printStackTrace();
62 | }
63 | }
64 | return sessionFactory;
65 | }
66 |
67 |
68 | public static SessionFactory getSessionFactoryProperties() { //hibernate.properties (in resources)
69 | if (sessionFactory == null) {
70 | try { Configuration configuration = new Configuration();
71 | configuration.addAnnotatedClass(User.class);
72 |
73 | StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
74 | builder.applySettings(configuration.getProperties());
75 |
76 | sessionFactory = configuration.buildSessionFactory(builder.build());
77 | } catch (Exception e) {
78 | e.printStackTrace();
79 | }
80 | }
81 | return sessionFactory;
82 | }
83 |
84 | public static SessionFactory getSessionFactory() { //hibernate.cfg.xml (in resources)
85 | try{
86 | Configuration configuration = new Configuration().configure();
87 | sessionFactory = configuration.buildSessionFactory();
88 | } catch (Exception e) {
89 | e.printStackTrace();
90 | }
91 | return sessionFactory;
92 | }
93 |
94 | }
95 |
--------------------------------------------------------------------------------
/src/main/resources/hibernate.cfg.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | false
8 | com.mysql.cj.jdbc.Driver
9 | jdbc:mysql://localhost:3306/test
10 | root
11 | root
12 | org.hibernate.dialect.MySQL5Dialect
13 | true
14 | thread
15 | create-drop
16 | true
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/main/resources/hibernate.properties:
--------------------------------------------------------------------------------
1 | hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver
2 | hibernate.connection.url=jdbc:mysql://localhost:3306/test
3 | hibernate.connection.user_name=root
4 | hibernate.connection.password=root
5 | hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
6 | hibernate.show_sql=true
7 | hibernate.current_session_context_class=thread
8 | hibernate.hbm2ddl=create-drop
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/test/java/service/UserDAOJDBCImplTest.java:
--------------------------------------------------------------------------------
1 | package service;
2 |
3 | import model.User;
4 | import org.junit.jupiter.api.BeforeEach;
5 | import org.junit.jupiter.api.Test;
6 |
7 | import java.util.List;
8 |
9 | import static org.junit.jupiter.api.Assertions.*;
10 |
11 | class UserDAOJDBCImplTest {
12 | private UserService userService = new UserServiceJDBCImpl();
13 | private String testName = "Сергей";
14 | private String testLastName = "Петров";
15 | private byte testAge = 37;
16 |
17 | @BeforeEach
18 | public void partTest() {
19 | userService.dropUserTable();
20 | userService.createUserTable();
21 | userService.saveUser(testName, testLastName, testAge);
22 | }
23 |
24 | @Test
25 | public void createUserTable() {
26 | try {
27 | userService.dropUserTable();
28 | userService.createUserTable();
29 | } catch (Exception e) {
30 | fail("При тестировании создания таблицы произошла ошибка \n" + e.getMessage());
31 | }
32 | }
33 |
34 | @Test
35 | public void dropUserTable() {
36 | try {
37 | userService.dropUserTable();
38 | } catch (Exception e) {
39 | fail("При удалении таблицы произошла ошибка \n" + e.getMessage());
40 | }
41 | }
42 |
43 | @Test
44 | public void saveUser() {
45 | try {
46 | User user = userService.getAllUsers().get(0);
47 | if (!testName.equals(user.getName()) || !testLastName.equals(user.getLastName()) || testAge != user.getAge()) {
48 | fail("User был некорректно сохранен в базу");
49 | }
50 | } catch (Exception e) {
51 | fail("Во время тестирования создания User произошла ошибка \n" + e.getMessage());
52 | }
53 | }
54 |
55 | @Test
56 | public void removeUserById() {
57 | try {
58 | userService.removeUserById(1);
59 | } catch (Exception e) {
60 | fail("При тестировании удаления произошла ошибка \n" + e.getMessage());
61 | }
62 | }
63 |
64 | @Test
65 | public void getAllUsers() {
66 | try {
67 | List allUsers = userService.getAllUsers();
68 | if (allUsers.size() != 1) {
69 | fail("Некорректно работает метод сохранения пользователей в таблицу");
70 | }
71 | } catch (Exception e) {
72 | fail("При попытке извлечения пользователей из базы произошла ошибка \n" + e.getMessage());
73 | }
74 | }
75 |
76 | @Test
77 | public void clearUserTable() {
78 | try {
79 |
80 | userService.clearUserTable();
81 | if (userService.getAllUsers().size() != 0) {
82 | fail("Метод очистки реализован не корректно");
83 | }
84 | } catch (Exception e) {
85 | fail("При очистке таблицы произошла ошибка \n" + e.getMessage());
86 | }
87 | }
88 | }
--------------------------------------------------------------------------------
/src/test/java/service/UserServiceHibernateImplTest.java:
--------------------------------------------------------------------------------
1 | package service;
2 |
3 | import model.User;
4 | import org.junit.jupiter.api.BeforeEach;
5 | import org.junit.jupiter.api.Test;
6 |
7 | import java.util.List;
8 |
9 | import static org.junit.jupiter.api.Assertions.*;
10 |
11 | class UserServiceHibernateImplTest {
12 |
13 | private UserService userService = new UserServiceHibernateImpl();
14 | private String testName = "Сергей";
15 | private String testLastName = "Петров";
16 | private byte testAge = 37;
17 |
18 | @BeforeEach
19 | public void partTest() {
20 | userService.dropUserTable();
21 | userService.createUserTable();
22 | userService.saveUser(testName, testLastName, testAge);
23 | }
24 |
25 | @Test
26 | public void createUserTable() {
27 | try {
28 | userService.dropUserTable();
29 | userService.createUserTable();
30 | } catch (Exception e) {
31 | fail("При тестировании создания таблицы произошла ошибка \n" + e.getMessage());
32 | }
33 | }
34 |
35 | @Test
36 | public void dropUserTable() {
37 | try {
38 | userService.dropUserTable();
39 | } catch (Exception e) {
40 | fail("При удалении таблицы произошла ошибка \n" + e.getMessage());
41 | }
42 | }
43 |
44 | @Test
45 | public void saveUser() {
46 | try {
47 | User user = userService.getAllUsers().get(0);
48 | if (!testName.equals(user.getName()) || !testLastName.equals(user.getLastName()) || testAge != user.getAge()) {
49 | fail("User был некорректно сохранен в базу");
50 | }
51 | } catch (Exception e) {
52 | fail("Во время тестирования создания User произошла ошибка \n" + e.getMessage());
53 | }
54 | }
55 |
56 | @Test
57 | public void removeUserById() {
58 | try {
59 | userService.removeUserById(1);
60 | } catch (Exception e) {
61 | fail("При тестировании удаления произошла ошибка \n" + e.getMessage());
62 | }
63 | }
64 |
65 | @Test
66 | public void getAllUsers() {
67 | try {
68 | List allUsers = userService.getAllUsers();
69 | if (allUsers.size() != 1) {
70 | fail("Некорректно работает метод сохранения пользователей в таблицу");
71 | }
72 | } catch (Exception e) {
73 | fail("При попытке извлечения пользователей из базы произошла ошибка \n" + e.getMessage());
74 | }
75 | }
76 |
77 | @Test
78 | public void clearUserTable() {
79 | try {
80 |
81 | userService.clearUserTable();
82 | if (userService.getAllUsers().size() != 0) {
83 | fail("Метод очистки реализован не корректно");
84 | }
85 | } catch (Exception e) {
86 | fail("При очистке таблицы произошла ошибка \n" + e.getMessage());
87 | }
88 | }
89 | }
--------------------------------------------------------------------------------