Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 26 additions & 0 deletions .idea/dataSources.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

465 changes: 465 additions & 0 deletions .idea/dbnavigator.xml

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/runConfigurations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/sqldialects.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
<version>8.0.25</version>
</dependency>

<dependency>
Expand All @@ -45,7 +45,7 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.10.Final</version>
<version>5.6.1.Final</version>
</dependency>
</dependencies>

Expand Down
28 changes: 27 additions & 1 deletion src/main/java/jm/task/core/jdbc/Main.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,33 @@
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) {
// реализуйте алгоритм здесь
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();


}
}
73 changes: 63 additions & 10 deletions src/main/java/jm/task/core/jdbc/dao/UserDaoHibernateImpl.java
Original file line number Diff line number Diff line change
@@ -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<User> getAllUsers() {
return null;
List<User> 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();
}
}
}
85 changes: 80 additions & 5 deletions src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java
Original file line number Diff line number Diff line change
@@ -1,35 +1,110 @@
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<User> getAllUsers() {
return null;
List<User> 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);
list.add(new User(name, lastName, age));
}
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();
}

}
}
Loading