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
6 changes: 6 additions & 0 deletions .idea/compiler.xml

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

3 changes: 2 additions & 1 deletion .idea/encodings.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.

41 changes: 41 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,46 @@
<artifactId>jpaentity</artifactId>
<version>1.0-SNAPSHOT</version>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

<dependencies>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.5.3.Final</version>
</dependency>

</dependencies>


</project>
40 changes: 40 additions & 0 deletions src/main/java/Apps/Conector.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package Apps;

import com.mysql.jdbc.Driver;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Conector {


public Conector() {
}


public static void registerJDBCDriver() {
// Attempt to register JDBC Driver
try {
DriverManager.registerDriver(Driver.class.newInstance());
} catch (InstantiationException | IllegalAccessException | SQLException e1) {
throw new RuntimeException(e1);
}
}

public static Connection getConnection(String dbVendor) {
String username = "laura";
String password = "zipcode0";
String url = new StringBuilder()
.append("jdbc:")
.append(dbVendor)
.append("://127.0.0.1/")
.append("?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC")
.toString();
try {
return DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
throw new Error(e);
}
}
}
23 changes: 23 additions & 0 deletions src/main/java/Apps/MainApp.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package Apps;

import entities.Artist;

public class MainApp {

public static void main(String[] args) {









// EntityManagerFactory managerFactory = Persistence.createEntityManagerFactory("AlbumDB");
// EntityManager entityManager = managerFactory.createEntityManager();
// Artist artist = entityManager.find(Artist.class, 1L);
//
// System.out.println(artist);
}
}
146 changes: 146 additions & 0 deletions src/main/java/Apps/jpaApplication.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
package Apps;

//import com.mysql.jdbc.Driver;
//import entities.Artist;
//import org.springframework.boot.SpringApplication;
//import org.springframework.boot.autoconfigure.SpringBootApplication;
//import services.ArtistRepo;
//
//import javax.persistence.EntityManager;
//import javax.persistence.EntityManagerFactory;
//import javax.persistence.Persistence;
//import java.sql.*;
//import java.util.StringJoiner;
//




//@SpringBootApplication
//public class jpaApplication




// static void executeStatement(Connection connection, String sqlStatement) {
// try {
// Statement statement = getScrollableStatement(connection);
// statement.execute(sqlStatement);
// //connection.setAutoCommit(false);
// connection.commit();
// } catch (SQLException e) {
// throw new Error(e);
// }
// }
//
//
//
// public static void main(String[] args) {
// SpringApplication.run(jpaApplication.class, args);
// registerJDBCDriver();
// Connection mysqlDbConnection = getConnection("mysql");
// ArtistRepo artistrepo = new ArtistRepo(mysqlDbConnection);
//
// executeStatement(mysqlDbConnection, "CREATE DATABASE IF NOT EXISTS manager;");
// executeStatement(mysqlDbConnection, "USE manager;");
//
//
// executeStatement(mysqlDbConnection, new StringBuilder()
// .append("CREATE TABLE IF NOT EXISTS manager.artist(")
// .append("id int auto_increment primary key,")
// .append("name text not null,")
// .append("stage_name text not null,")
// .append("numOfAwards int);" )
// .toString());
// artistrepo.create(new Artist(1L , "yoongi", "suga", 6789));
// artistrepo.create(new Artist(2L, "benito", "badbunny", 2345));
// System.out.println(artistrepo.readAll());
//
//
// String getArtistTable = "SELECT * FROM manager.artist;";
// ResultSet resultSet = executeQuery(mysqlDbConnection, getArtistTable);
// printResults(resultSet);
//
//
// resultSet = executeQuery(mysqlDbConnection, getArtistTable);
// printResults(resultSet);
// }
//
// static ResultSet executeQuery(Connection connection, String sqlQuery) {
// try {
// Statement statement = getScrollableStatement(connection);
// return statement.executeQuery(sqlQuery);
// } catch (SQLException e) {
// throw new Error(e);
// }
// }
//
//
// static void printResults(ResultSet resultSet) {
// try {
// for (int rowNumber = 0; resultSet.next(); rowNumber++) {
// String firstColumnData = resultSet.getString(1);
// String secondColumnData = resultSet.getString(2);
// String thirdColumnData = resultSet.getString(3);
// System.out.println(new StringJoiner("\n")
// .add("Row number = " + rowNumber)
// .add("First Column = " + firstColumnData)
// .add("Second Column = " + secondColumnData)
// .add("Third column = " + thirdColumnData));
// }
// } catch (SQLException e) {
// throw new Error(e);
// }
// }
//
// static void registerJDBCDriver() {
// // Attempt to register JDBC Driver
// try {
// DriverManager.registerDriver(Driver.class.newInstance());
// } catch (InstantiationException | IllegalAccessException | SQLException e1) {
// throw new RuntimeException(e1);
// }
// }
//
// static Statement getScrollableStatement(Connection connection) {
// int resultSetType = ResultSet.TYPE_SCROLL_INSENSITIVE;
// int resultSetConcurrency = ResultSet.CONCUR_READ_ONLY;
// try { // scrollable statements can be iterated more than once without closing
// return connection.createStatement(resultSetType, resultSetConcurrency);
// } catch (SQLException e) {
// throw new Error(e);
// }
// }
//
//
// static Connection getConnection(String dbVendor) {
// String username = "laura";
// String password = "zipcode0";
// String url = new StringBuilder()
// .append("jdbc:")
// .append(dbVendor)
// .append("://127.0.0.1/")
// .append("?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC")
// .toString();
// try {
// return DriverManager.getConnection(url, username, password);
// } catch (SQLException e) {
// throw new Error(e);
// }
// }
//
//
//}


// .append("INSERT INTO manager.artist(")
// .append("id, name, stageName, numOfAwards) ")
// .append("VALUES (1L, 'yoongi', 'suga', '6789');")
// .toString());

// executeStatement(mysqlDbConnection, new StringBuilder()
// .append("INSERT INTO manager.artist(")
// .append("\"id, name, stageName, numOfAwards) ")
// .append("VALUES (2L, 'benito', 'badBunny', '2345');")
// .toString());
//
71 changes: 71 additions & 0 deletions src/main/java/entities/Album.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package entities;


import javax.persistence.*;

@Entity
@Table(name = "Album")
public class Album {

@Id
Long id;
String name;
int numberOfSongs;
int price;

private Long elId;
@ManyToOne
@JoinColumn(name = "elId", referencedColumnName = "id", insertable = false, updatable = false)
private Artist a;

public Album(){
}

public Album(Long id, String name, int numberOfSongs, int price) {
this.id = id;
this.name = name;
this.numberOfSongs = numberOfSongs;
this.price = price;
}

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 int getNumberOfSongs() {
return numberOfSongs;
}

public void setNumberOfSongs(int numberOfSongs) {
this.numberOfSongs = numberOfSongs;
}

public int getPrice() {
return price;
}

public void setPrice(int price) {
this.price = price;
}

@Override
public String toString() {
return "Album{" +
"name='" + name + '\'' +
", numberOfSongs=" + numberOfSongs +
", price=" + price +
'}';
}
}
Loading