From 345c1e78620c1b73a77c8926e2ed5c4cbe7e67ea Mon Sep 17 00:00:00 2001 From: Raymond Date: Thu, 5 Aug 2021 12:01:59 -0400 Subject: [PATCH 1/2] still working --- .idea/Maven.JDBC-DAO.iml | 2 + .idea/compiler.xml | 1 + .idea/jarRepositories.xml | 20 +++++ .idea/vcs.xml | 6 ++ pom.xml | 27 +++++- src/main/java/MainApplication.java | 115 ++++++++++++++++++++++++ src/main/java/daos/CarRepository.java | 85 ++++++++++++++++++ src/main/java/daos/DELETEME.txt | 0 src/main/java/daos/Repo.java | 39 ++++++++ src/main/java/models/Car.java | 84 +++++++++++++++++ src/main/java/models/DELETEME.txt | 0 src/test/java/daos/TestClass.java | 26 ++++++ target/classes/MainApplication.class | Bin 0 -> 5135 bytes target/classes/daos/CarRepository.class | Bin 0 -> 4246 bytes target/classes/daos/Repo.class | Bin 0 -> 1299 bytes target/classes/models/Car.class | Bin 0 -> 2293 bytes 16 files changed, 403 insertions(+), 2 deletions(-) create mode 100644 .idea/Maven.JDBC-DAO.iml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/vcs.xml create mode 100644 src/main/java/MainApplication.java create mode 100644 src/main/java/daos/CarRepository.java delete mode 100644 src/main/java/daos/DELETEME.txt create mode 100644 src/main/java/daos/Repo.java create mode 100644 src/main/java/models/Car.java delete mode 100644 src/main/java/models/DELETEME.txt create mode 100644 src/test/java/daos/TestClass.java create mode 100644 target/classes/MainApplication.class create mode 100644 target/classes/daos/CarRepository.class create mode 100644 target/classes/daos/Repo.class create mode 100644 target/classes/models/Car.class diff --git a/.idea/Maven.JDBC-DAO.iml b/.idea/Maven.JDBC-DAO.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/.idea/Maven.JDBC-DAO.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index f006a55..5a76f28 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -6,6 +6,7 @@ + diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index d97c43d..82e15cc 100644 --- a/pom.xml +++ b/pom.xml @@ -7,12 +7,35 @@ com.zipcoder.lab jdbcdao 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + + + + + + + + mysql + mysql-connector-java + 8.0.26 + - junit junit 4.10 - + + com.fasterxml.jackson.core + jackson-databind + 2.13.0-rc1 + + \ No newline at end of file diff --git a/src/main/java/MainApplication.java b/src/main/java/MainApplication.java new file mode 100644 index 0000000..ca437bf --- /dev/null +++ b/src/main/java/MainApplication.java @@ -0,0 +1,115 @@ + +import com.mysql.cj.jdbc.Driver; +import daos.CarRepository; +import models.Car; + + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.StringJoiner; + +public class MainApplication { + + public static void main(String[] args) { + registerJDBCDriver(); + Connection mysqlDbConnection = getConnection("mysql"); + CarRepository carRepository = new CarRepository(mysqlDbConnection); + executeStatement(mysqlDbConnection, "DROP DATABASE IF EXISTS carDatabase;"); + executeStatement(mysqlDbConnection, "CREATE DATABASE IF NOT EXISTS carDatabase;"); + executeStatement(mysqlDbConnection, "USE carDatabase;"); + executeStatement(mysqlDbConnection, new StringBuilder() + .append("CREATE TABLE IF NOT EXISTS carDatabase.carTable(") + .append("id int auto_increment primary key,") + .append("make text not null,") + .append("model text not null,") + .append("year int,") + .append("color text,") + .append("vin int);") + .toString()); + + carRepository.create(new Car(1L,"honda", "accord", 1995, "black", 100L)); +// carRepository.create(new Car()); + System.out.println(carRepository.readAll()); + + } + + 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); + String fourthColumnData = resultSet.getString(4); + String fifthColumnData = resultSet.getString(5); + String sixthColumnData = resultSet.getString(6); + System.out.println(new StringJoiner("\n") + .add("Row number = " + rowNumber) + .add("First Column = " + firstColumnData) + .add("Second Column = " + secondColumnData) + .add("Third column = " + thirdColumnData) + .add("Fourth Column = " + fourthColumnData) + .add("Fifth Column = " + fifthColumnData) + .add("Sixth Column = " + sixthColumnData)); + } + } catch (SQLException e) { + throw new Error(e); + } + } + + static void executeStatement(Connection connection, String sqlStatement) { + try { + Statement statement = getScrollableStatement(connection); + statement.execute(sqlStatement); + } catch (SQLException e) { + throw new Error(e); + } + } + + 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 = "root"; + String password = "password"; + 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); + } + } + + static void registerJDBCDriver() { + // Attempt to register JDBC Driver + try { + DriverManager.registerDriver(Driver.class.newInstance()); + } catch (InstantiationException | IllegalAccessException | SQLException e1) { + throw new RuntimeException(e1); + } + } + +} \ No newline at end of file diff --git a/src/main/java/daos/CarRepository.java b/src/main/java/daos/CarRepository.java new file mode 100644 index 0000000..fa8eec3 --- /dev/null +++ b/src/main/java/daos/CarRepository.java @@ -0,0 +1,85 @@ +package daos; + +import com.sun.deploy.net.MessageHeader; +import models.Car; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + + +public class CarRepository implements Repo { + private Connection connection; + + public CarRepository(Connection connection) { + this.connection = connection; + } + + @Override + public Connection getConnection() { + return connection; + } + + public void create(Car car) { + executeStatement(String.format(new StringBuilder() + .append("INSERT INTO carDatabase.carTable(") + .append("id, make, model, year, color, vin) ") + .append("VALUES (%s, '%s', '%s', %s, '%s', %s);") + .toString(), + car.getId(), + car.getMake(), + car.getModel(), + car.getYear(), + car.getColor(), + car.getVin())); + + } + + public List readAll() { + ResultSet resultSet = executeQuery("SELECT * FROM carDatabase.carTable;"); + List list = new ArrayList<>(); + try { + while (resultSet.next()) { + String id = resultSet.getString(1); + String make = resultSet.getString(2); + String model = resultSet.getString(3); + String year = resultSet.getString(4); + String color = resultSet.getString(5); + String vin = resultSet.getString(6); + list.add(new Car( + Long.parseLong(id), + make, + model, + Integer.parseInt(year), + color, + Long.parseLong(vin))); + } + } catch (SQLException throwables) { + throw new RuntimeException(throwables); + } + return list; + } + + public Car read(Long Carid) { + return readAll() + .stream() + .filter(car -> car.getId().equals(Carid)) + .findAny() + .get(); + } + + public void update(Long id, Car newPokemonData) { + + } + + public void delete(Long id) { + + } + + public void delete(Car car) { + + } + +} \ No newline at end of file diff --git a/src/main/java/daos/DELETEME.txt b/src/main/java/daos/DELETEME.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/java/daos/Repo.java b/src/main/java/daos/Repo.java new file mode 100644 index 0000000..e71a42f --- /dev/null +++ b/src/main/java/daos/Repo.java @@ -0,0 +1,39 @@ +package daos; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + + +public interface Repo { + default void executeStatement(String sqlStatement) { + try { + Statement statement = getScrollableStatement(); + statement.execute(sqlStatement); + } catch (SQLException e) { + throw new Error(e); + } + } + + default Statement getScrollableStatement() { + int resultSetType = ResultSet.TYPE_SCROLL_INSENSITIVE; + int resultSetConcurrency = ResultSet.CONCUR_READ_ONLY; + try { // scrollable statements can be iterated more than once without closing + return getConnection().createStatement(resultSetType, resultSetConcurrency); + } catch (SQLException e) { + throw new Error(e); + } + } + + default ResultSet executeQuery(String sqlQuery) { + try { + Statement statement = getScrollableStatement(); + return statement.executeQuery(sqlQuery); + } catch (SQLException e) { + throw new Error(e); + } + } + + Connection getConnection(); +} \ No newline at end of file diff --git a/src/main/java/models/Car.java b/src/main/java/models/Car.java new file mode 100644 index 0000000..5af467a --- /dev/null +++ b/src/main/java/models/Car.java @@ -0,0 +1,84 @@ +package models; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class Car { + private Long id; + private String make; + private String model; + private Integer year; + private String color; + private Long vin; + + public Car (){}; + + public Car(Long id, String make, String model, Integer year, String color, Long vin) { + this.id = id; + this.make = make; + this.model = model; + this.year = year; + this.color = color; + this.vin = vin; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getMake() { + return make; + } + + public void setMake(String make) { + this.make = make; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public Integer getYear() { + return year; + } + + public void setYear(Integer year) { + this.year = year; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public Long getVin() { + return vin; + } + + public void setVin(Long vin) { + this.vin = vin; + } + + @Override + public String toString() { + return "Car{" + + "id=" + id + + ", make='" + make + '\'' + + ", model='" + model + '\'' + + ", year=" + year + + ", color='" + color + '\'' + + ", vin=" + vin + + '}'; + } +} \ No newline at end of file diff --git a/src/main/java/models/DELETEME.txt b/src/main/java/models/DELETEME.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/test/java/daos/TestClass.java b/src/test/java/daos/TestClass.java new file mode 100644 index 0000000..9d9fc70 --- /dev/null +++ b/src/test/java/daos/TestClass.java @@ -0,0 +1,26 @@ +package daos; + +import org.junit.Test; + +public class TestClass { + @Test + public void readAllTest(){ + + } + @Test + public void readTest(){ + + } + @Test + public void update(){ + + } + @Test + public void deleteById(){ + + } + @Test + public void deleteByObject(){ + + } +} diff --git a/target/classes/MainApplication.class b/target/classes/MainApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..2104bb6bc5f99282198c6221083ca0160fd79ce6 GIT binary patch literal 5135 zcmaJ_31A#m8U7}_o0)7jO|uQXQec5v(oNE(rBG-aAXg=2la_2+2%tFGog~xF&ZM)m zZ2~Hw^#m`x?^`@T3u=-Q1-u135DygZ6Xg&P1w|CTH#56C+XRy4&71%I?||L_0b zo8I;RTWoGA#dwW^*NW%sWV}9#2;QLJjpF@U1=lHflZ-b-S0s_gFbiLStGtwZUS3RI`WGQG=3r+RCcN zUe(scyDtno6M8{HQ+hzv&92EwL(i&?ZkgL?C{K}u<*k>d_o)Zfl%bmAsf=Um=J+;u zA=Mt|)Mbkd(_ntOaKPvt?XgT#%L{X( zCn%*_Oqvs}|`(71RmC~9ON?JCLAF{@}h6IDuM`q(j&f<9F(sk5y^9&hM? ze)`ESIjzc16^Ml6N2csM3CX~20>NJB8nM9`ofnw9d|Y!fS=%xULDaxN+u}yo2SOBx zUPBr9@bn}j*<5}npls2$H8VRci&Q=@GxCx*LRg<&#&Bq5q% z5VP72U1V_cF-f{Xur`K%?2O@+*eN06W?c-2Fvay2W|7dnSHjxfpZTZ2Pj~zjKVv*x z3vO|eabFBS$1mvi2__@cGU5)(xL?SB$@fu%NiUrKs~CQb-^loF48OzgWB3F9DC18t z{270V!A3#G12J5Tzmf};N)#wJECLlj_Sv>&3#)&N;XynU!^3!lb=p-ZI=ZM~qDb$w zcmmMRQdH>voirb^4$%|hNJw-hgf}0J;W0c;<2yu!NqD7#V~k|RtuR4Rjb^tJ_|{Zv zF(KDPVs6L!yr7PE1T5{g@DTHij|=vP2{z}VB;|r zfq|>2?;735qnEi*c6Ft4RVjLWDJfQ$Av)lBsxAw6tvWf$;wPcw`736ii2A87s-|O= z7Hw|z>vuqr8cQnsNL%K(1o@z96t!JrgxR_?I7JL|LQ`czzv*b>g8Iu_`-7UkoXSQJ zuWMl8$@GGflBpL|at(_Eu9iiLtRque)0G0^-l78W%1rZg$n(Uoij10nThgu6ZgEeb zyEHXV=rW(VF2i67l|1JreVS(rhrM7|&*CKau3?BvSa9baLtGq{d<-18twCikVA}$x zZ8>wfZiyvs6o)5xi4cdkcTqH1hTZGwC9J68aChsIz)}?+e*p%fu|%aRx+8m17|~z!HWk^F;hF_)ts!jH=6$DP2aI zeOwjDj2}+o_s;q5H<1E~C&^B>7w|pBr^II@ISc7#c50AjTk8s!V1WIYr+`81;#(bd z<3dU}S&|V&h_Y+uP!kW$A)KB^WTb5twF7N&c@9cjyv}W-qMb+m$Sh*rHT2B!-1G_D-ia8Z&K`Q} zAWp&6c#-RXgttkKWn2eLVVF8hU0$yC;v%|C;jusBIR#fyTR3G!at@~qw6`6_+8P`g zn8&)2_F0^IyX(yu8fZM^`Z|s<)z|aWG)ZY2mZ05THc5GerZ2&zTw)2ga~WR39!=w= z1R#D^;Bvf-7FG5cvjG{SoRLM&10y{^8ww*Og|;V;qE+Ij@NR_0gQOdB0AO@rxDG~bB z(oK}C3NH|!F2s=q;>|)_yFh$~5X)sT>2O$*Zg@6+0~*N3b%Kwl-hQ*|_9yUU+3kDD z3SbjI?N299Hj@iykRfNHgWvyWk{{>cY&v%|+TtGaT1}3WHl@uf}y-6QpNFb&zq8?qmTI>B0{!AK!g6A{N^cKRX@Y zN_Tlg-$rsJ`4`_Vnof^ugB@+{b2#V7*06xSD(qulOHZ|xv2P%~!2AsnVJ$H>65le? zY9;-2JP{=bU@fz?ja2C%NyMHu6G8_otJsrp))q`t8?><*SGfMI#YSAoUJd6i!^_zV zxw~5_cGrfmj8~NZl{U#wOMjD7)Fz#%#{#_>&dYm z|Jmz5OC`$-NuD~B)H1m(i(5M2!WYLyBSUf(uI4PkRZ?M4#x->ucoko3@apFP;N>nT literal 0 HcmV?d00001 diff --git a/target/classes/daos/CarRepository.class b/target/classes/daos/CarRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..ea7a802e0a8d42242ba5475784baf2bf03402f9c GIT binary patch literal 4246 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 literal 0 HcmV?d00001 diff --git a/target/classes/models/Car.class b/target/classes/models/Car.class new file mode 100644 index 0000000000000000000000000000000000000000..105beea1fa1386f6b3b4ff6c10b8b402057d20a4 GIT binary patch literal 2293 zcmaJ?>uwuW5dPNQTg;NUPMnZZ+B87yY@HYiw9v$9i6L#M+XAT~_2(v8nJtc8IZh>n zcnIEtpCHw#1QHLxLm|F7$Cvf8t}M;WnKPGfE@%DEzkmJ>;8Q%!p@{7nETAT2N61|v z_k?^YWY=3_Sd?Oxany9{6*cUm3ZW?x2a z1NL^*j(R&hme&vIS!Vas~pR#P{+;#tZ&o|vA)qr1s2FwGwkiNSB3I=%wfr7wH{|}S6I&^)c+PN^{ zJZh*zcWqFN2N>K-2v&&7e3Dcvu-z(^y+9#v>06hN0_vRuXz3+6;ZD zCP$qT++IfmGLSpyoOh4Iy+}spavYnoKOU}O#ls?&JiLQt50{0!iz^=96X`0J3@nW| zO-I{3k6I@o7sX+mpQDqShi~znknb70vLbs}E6Mr5zzok)daXqJ%8Kk?O=;D#iPo;H zaN!u_3seYnyfNJJaq1^W&%@&$t%DaY!ZxS65%12h@3A>gVCC{n*z0Ip@x4geUn$q8 zU*kI8Z;=n(Mn>94DI*#SRGi%;pMxP?C%w*7mE0h={MRu4P-d&7wo=aG zeafCTzz6t{CvjdQ73bfW)FEFJXa7bY8Nbp;*5ByE^q0*(qb^&0*#5HJhck}8%FhXq zhlxv=K>@Rv=Wl^9i;TX=JWDF`108*knR!&H0(VUnn^BUKn^lq&Y${1gwv;4AOEo2w z2dKv-ze47B8f7pp`EqK>>+lE8JG7RxwkmgAQch{FGU+uHVNqL+pxXoJ25z8|0wkLR zvYHBH1Dk0;vPmFo1X7v;MAk%xUQGpJCV}{=Kt4(bVkUuX5=eCl5E+~R`4~4zC%5qx ztR#?|sX#vAf1P%o7>$(#a*IH2PXQu(BS1b&?TDQOawiqYt@MuANgz7}a(4<4Sz7^e zJ9Sx|B#_-yAfKl%YwZ2$W!)o?`%{3(s}UglB$CQ#e&s^T%WM7x_t|UA6ml1M%jXNa zfLC~1%UQB~=>oHbIjt~9io8}>Vtq-=_UN*p6%H@+ztH^x^T|>l#!79DK1Fxb>)rYf D@Oox0 literal 0 HcmV?d00001 From 48d5eb059594f44887ffcb18cdb0cbc064b014ba Mon Sep 17 00:00:00 2001 From: Raymond Date: Thu, 5 Aug 2021 12:35:19 -0400 Subject: [PATCH 2/2] finished classes --- src/main/java/daos/CarRepository.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/daos/CarRepository.java b/src/main/java/daos/CarRepository.java index fa8eec3..e4ed8d2 100644 --- a/src/main/java/daos/CarRepository.java +++ b/src/main/java/daos/CarRepository.java @@ -71,15 +71,33 @@ public Car read(Long Carid) { } public void update(Long id, Car newPokemonData) { + executeStatement(String.format(new StringBuilder() + .append("UPDATE carTable,") + .append("SET make '%s',") + .append("model '%s',") + .append("year %s,") + .append("color '%s',") + .append("vin %s,") + .append("WHERE id = %s;") + .toString(), + newPokemonData.getMake(), + newPokemonData.getModel(), + newPokemonData.getYear(), + newPokemonData.getColor(), + newPokemonData.getVin(), + id)); } public void delete(Long id) { - + executeStatement(String.format(new StringBuilder() + .append("DELETE FROM carTable WHERE id = %s") + .toString(), + id)); } public void delete(Car car) { - + delete(car.getId()); } } \ No newline at end of file