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.

1 change: 1 addition & 0 deletions .idea/.name

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

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

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

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

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

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.

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

13 changes: 13 additions & 0 deletions .idea/libraries/Maven__mysql_mysql_connector_java_8_0_22.xml

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

Binary file added .idea/libraries/mysql-connector-java-8.0.22.jar
Binary file not shown.
9 changes: 9 additions & 0 deletions .idea/libraries/mysql_connector_java_8_0_22.xml

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

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

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

8 changes: 8 additions & 0 deletions .idea/modules.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.

30 changes: 30 additions & 0 deletions TaskJDBC.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.22" level="project" />
<orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:3.11.4" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.2.Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-core:4.3.10.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.1.3.GA" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging-annotations:1.2.0.Beta1" level="project" />
<orderEntry type="library" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.0.0.Final" level="project" />
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.0.b2" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:4.0.5.Final" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.18.1-GA" level="project" />
<orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.jboss:jandex:1.1.0.Final" level="project" />
<orderEntry type="library" name="mysql-connector-java-8.0.22" level="project" />
</component>
</module>
10 changes: 9 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
</plugins>
</build>


<dependencies>
<!-- Ваши зависимости-->
<!-- https://mvnrepository.com/artifact/junit/junit -->
Expand Down Expand Up @@ -47,6 +48,13 @@
<artifactId>hibernate-core</artifactId>
<version>4.3.10.Final</version>
</dependency>
</dependencies>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>

</dependencies>

</project>
33 changes: 31 additions & 2 deletions src/main/java/jm/task/core/jdbc/Main.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,36 @@
package jm.task.core.jdbc;

import jm.task.core.jdbc.dao.UserDaoJDBCImpl;
import jm.task.core.jdbc.model.User;
import jm.task.core.jdbc.service.UserService;
import jm.task.core.jdbc.service.UserServiceImpl;
import jm.task.core.jdbc.util.Util;

import java.sql.*;
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, ClassNotFoundException {

UserService userServ = new UserServiceImpl();
userServ.createUsersTable();
userServ.saveUser("John", "Nikson", (byte) 56);
userServ.saveUser("Sarah", "Konor", (byte) 34);
userServ.saveUser("Peter", "Mexes", (byte) 33);
userServ.saveUser("Leam", "Howlet", (byte) 51);

System.out.println(userServ.getAllUsers());

userServ.removeUserById(2);
userServ.cleanUsersTable();
userServ.dropUsersTable();

Util.getConnectionToDatabase().close();
}
}


13 changes: 7 additions & 6 deletions src/main/java/jm/task/core/jdbc/dao/UserDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -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, ClassNotFoundException;

void dropUsersTable();
void dropUsersTable() throws SQLException, ClassNotFoundException;

void saveUser(String name, String lastName, byte age);
void saveUser(String name, String lastName, byte age) throws SQLException, ClassNotFoundException;

void removeUserById(long id);
void removeUserById(long id) throws SQLException, ClassNotFoundException;

List<User> getAllUsers();
List<User> getAllUsers() throws SQLException, ClassNotFoundException;

void cleanUsersTable();
void cleanUsersTable() throws SQLException, ClassNotFoundException;
}
81 changes: 72 additions & 9 deletions src/main/java/jm/task/core/jdbc/dao/UserDaoJDBCImpl.java
Original file line number Diff line number Diff line change
@@ -1,35 +1,98 @@
package jm.task.core.jdbc.dao;

import jm.task.core.jdbc.model.User;
import jm.task.core.jdbc.util.Util;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class UserDaoJDBCImpl implements UserDao {
private String create = "CREATE TABLE IF NOT EXISTS user" +
"(id BIGINT not NULL AUTO_INCREMENT , /n " +
" name VARCHAR(50) not NULL, /n" +
" lastname VARCHAR(50) not NULL, /n " + // так ?
" age TINYINT not NULL, /n" +
" PRIMARY KEY (id)) /n";
private String insert = "INSERT INTO user (name, last name, age) Values(?, ?, ?);";
private String removeUserById = "DELETE FROM user WHERE id = ?";
private String delete = "DELETE FROM tb_name;";

public UserDaoJDBCImpl() {

}

public void createUsersTable() {
public void createUsersTable() throws SQLException, ClassNotFoundException {
Statement statement2 = Util.getConnectionToDatabase().createStatement();
statement2.executeUpdate("CREATE TABLE IF NOT EXISTS user2" +
"(id BIGINT not NULL AUTO_INCREMENT ," +
" name VARCHAR(50) not NULL," +
" lastname VARCHAR(50) not NULL, " +
" age TINYINT not NULL," +
" PRIMARY KEY (id))");

System.out.println("Таблица создана успешно");
statement2.close();
System.out.println("statement закрыт");
}

public void dropUsersTable() {
public void dropUsersTable() throws SQLException, ClassNotFoundException {
Statement statement2 = Util.getConnectionToDatabase().createStatement(); // Создаем соединение с БД
statement2.executeUpdate("TRUNCATE user2;");
System.out.println("Таблица удалена");
statement2.close();
System.out.println("Соединение закрыто");

}

public void saveUser(String name, String lastName, byte age) {

}

public void removeUserById(long id) {

public void saveUser(String name, String lastName, byte age) throws SQLException, ClassNotFoundException {
Statement statement2 = Util.getConnectionToDatabase().createStatement();// Создаем соединение с БД
// statement2.executeUpdate(String.format("INSERT INTO FROM user2 WHERE name=%s, lastname=%s, age=%d;", name, lastName, age));
statement2.executeUpdate("insert user2 (name, lastName, age) values " +
"(\'" + name + "\', \'" + lastName +"\', " + age + ");");
statement2.close();
System.out.println("Соединение закрыто");
}

public List<User> getAllUsers() {
return null;
public void removeUserById(long id) throws SQLException, ClassNotFoundException {
Statement statement2 = Util.getConnectionToDatabase().createStatement();// Создаем соединение с БД
statement2.executeUpdate(String.format("DELETE FROM user2 WHERE id=%d;", id)); // созд. стэйтмент для раработы с данными
System.out.println("удаление юзера под id= " + id + " выполнено");
statement2.close();
System.out.println("Соединение закрыто");
}

public void cleanUsersTable() {
public List<User> getAllUsers() throws SQLException, ClassNotFoundException {
String showALL = "SELECT * FROM user2;";

Statement statement2 = Util.getConnectionToDatabase().createStatement();
ResultSet resultSet = statement2.executeQuery(showALL);
List<User> list = new ArrayList<>();

while (resultSet.next()) {
String name;
String lastname;
byte age;
name = resultSet.getString("name");
lastname = resultSet.getString("lastname");
age = resultSet.getByte("age");
list.add(new User(name, lastname, age));
}
statement2.close();
Util.getConnectionToDatabase().close();
System.out.println("Соединение закрыто");
return list;
}

public void cleanUsersTable() throws SQLException, ClassNotFoundException {
Statement statement2 = Util.getConnectionToDatabase().createStatement();// Создаем соединение с БД
statement2.executeUpdate("DELETE FROM user2;");
System.out.println("Удаление выполнено");
statement2.close();
System.out.println("Соединение закрыто");
}
}
10 changes: 10 additions & 0 deletions src/main/java/jm/task/core/jdbc/model/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,16 @@ public String getName() {
return name;
}

@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' + // переопределенный метод toString
", lastName='" + lastName + '\'' +
", age=" + age +
'}';
}

public void setName(String name) {
this.name = name;
}
Expand Down
Loading