Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package database;
- import org.junit.Test;
- import java.io.IOException;
- import java.sql.*;
- public class Main {
- private final static String URL ="jdbc:mysql://localhost:3306/catalog?useSSL=false";
- private final static String USERNAME = "root";
- private final static String PASSWORD = "root";+
- private final static String FILEPATH = "./src/main/resources/input.txt";
- public static void main(String[] args) throws SQLException, IOException {
- Reader reader = new Reader(FILEPATH);
- StudentParser parser = new StudentParser();
- DatabaseWriter dbWriter = new DatabaseWriter(URL, USERNAME, PASSWORD);
- try {
- while (reader.hasNext()==true){
- String line = reader.next();
- Student student = parser.parse(line);
- dbWriter.writeStudent(student);
- }
- }
- catch (NullPointerException e){
- e.printStackTrace();
- }finally {
- dbWriter.close();
- reader.close();
- }
- }
- }
- package database;
- import org.junit.jupiter.api.Test;
- import java.util.LinkedList;
- public class StudentParser {
- public Student parse(String line){
- String [] words = line.split(",");
- Student student = null;
- int lenght = words.length;
- if(lenght == 1){
- student = new Student(words[0]," "," ");
- }
- else
- if (lenght == 2) {
- student = new Student(words[0], words[1], " ");
- } else
- if(lenght == 3) {
- student = new Student(words[0], words[1], words[2]);
- }
- return student;
- }
- }
- package database;
- import java.io.Closeable;
- import java.io.IOException;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- public class DatabaseWriter implements Closeable {
- private final static String INSERT = "INSERT INTO students VALUES(?,?,?,?)";
- private String URL,USERNAME,PASSWORD;
- int count = 1;
- DatabaseWriter(String URL,String USERNAME,String PASSWORD) throws SQLException {
- this.URL = URL;
- this.USERNAME = USERNAME;
- this.PASSWORD = PASSWORD;
- DBConnector dbc = new DBConnector();
- Connection conn = dbc.getConnection(URL,USERNAME,PASSWORD);
- PreparedStatement preparedStatement = conn.prepareStatement(INSERT);
- }
- public void writeStudent(Student student) throws SQLException {
- PreparedStatement preparedStatement = conn.prepareStatement(INSERT);
- preparedStatement.setInt(1, count);
- preparedStatement.setString(2, student.getFirstName());
- preparedStatement.setString(3, student.getLastName());
- preparedStatement.setString(4, student.getAge());
- preparedStatement.execute();
- count++;
- }
- @Override
- public void close() throws IOException {
- conn.close();
- }
- }
- package database;
- import com.mysql.fabric.jdbc.FabricMySQLDriver;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- public class DBConnector {
- private Connection connection;
- public DBConnector() throws SQLException{
- DriverManager.registerDriver(new FabricMySQLDriver());
- }
- public Connection getConnection(String url, String username, String password) throws SQLException{
- if(connection != null)
- return connection;
- connection = DriverManager.getConnection(url, username, password);
- return connection;
- }
- }
- package database;
- public class Student {
- private String firstName,lastName,age;
- Student(String name,String surname,String StudentAge){
- firstName = name;
- lastName = surname;
- age = StudentAge;
- }
- public String toString(){
- return this.firstName + " " + this.lastName + " " + this.age;
- }
- public String getFirstName(){
- return firstName;
- }
- public String getLastName(){
- return lastName;
- }
- public String getAge(){
- return age;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement