From 7be47e73cd2541354feda4d462e3b5827fb33039 Mon Sep 17 00:00:00 2001 From: git-leon Date: Wed, 4 Aug 2021 15:00:08 -0400 Subject: [PATCH 1/6] migrated jdbc lecturedemo and hyave proof of concept for speakling to mysql database --- .idea/compiler.xml | 1 + .idea/jarRepositories.xml | 20 +++++ .idea/vcs.xml | 6 ++ pom.xml | 31 +++++-- src/main/java/MainApplication.java | 119 +++++++++++++++++++++++++++ target/classes/MainApplication.class | Bin 0 -> 4693 bytes 6 files changed, 168 insertions(+), 9 deletions(-) create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/vcs.xml create mode 100644 src/main/java/MainApplication.java create mode 100644 target/classes/MainApplication.class 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..ba50188 100644 --- a/pom.xml +++ b/pom.xml @@ -4,15 +4,28 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.zipcoder.lab - jdbcdao + org.example + intro-to-jdbc 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.0 + + 1.8 + 1.8 + + + + - - - junit - junit - 4.10 - - + + + mysql + mysql-connector-java + 8.0.18 + + \ 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..8157416 --- /dev/null +++ b/src/main/java/MainApplication.java @@ -0,0 +1,119 @@ + +import com.mysql.cj.jdbc.Driver; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.StringJoiner; + +/** + * @author git-leon + * @version 1.0.0 + * @date 8/2/21 9:49 AM + */ +public class MainApplication { + + public static void main(String[] args) { + registerJDBCDriver(); + Connection mysqlDbConnection = getConnection("mysql"); + executeStatement(mysqlDbConnection, "DROP DATABASE IF EXISTS databaseName;"); + executeStatement(mysqlDbConnection, "CREATE DATABASE IF NOT EXISTS databaseName;"); + executeStatement(mysqlDbConnection, "USE databaseName;"); + executeStatement(mysqlDbConnection, new StringBuilder() + .append("CREATE TABLE IF NOT EXISTS databaseName.pokemonTable(") + .append("id int auto_increment primary key,") + .append("name text not null,") + .append("primary_type int not null,") + .append("secondary_type int null);") + .toString()); + executeStatement(mysqlDbConnection, new StringBuilder() + .append("INSERT INTO databaseName.pokemonTable(") + .append("id, name, primary_type, secondary_type) ") + .append("VALUES (12, 'Ivysaur', 3, 7);") + .toString()); + + executeStatement(mysqlDbConnection, new StringBuilder() + .append("INSERT INTO databaseName.pokemonTable(") + .append("id, name, primary_type, secondary_type) ") + .append("VALUES (13, 'Ivysaurr', 3, 7);") + .toString()); + + String getPokemonTable = "SELECT * FROM databaseName.pokemonTable;"; + ResultSet resultSet = executeQuery(mysqlDbConnection, getPokemonTable); + 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 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 = ""; + 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); + } + } + +} diff --git a/target/classes/MainApplication.class b/target/classes/MainApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..0eef2a7b175a643ca1601d905dd912bc749ae2e1 GIT binary patch literal 4693 zcmaJ^`F|8=8UIdplbLKbglq!2pdBd3W|OcDN3nrGbD^P|gX}_^R>jF?2m`w_VRkl< zTBX&t3Rc^qRO?kd@fNCvP_(VL*88mf4}L!W?#GYy`_Ak!3!xnE%slV&KF9aD-hKUl zFTVm{C;k~iKk^~$#e#y<;(12FqIf={;JpeSmGQn1YLQp)e(^l3;4uY{EBJtd4+_E) z3Z7K(l!6Z__^^U=;^=v?d_*iy*Wsi1n2cv+JR8C~JXeQqToB90Yw-zOl<~ZRPlm7o zpHlFGkoRfv@fii5Rq#0lpAX?hToOXQAmfX5_!7RX;42Egs^GGMuPOL?2;aarWqd1y zZ{s^MzAL`3$ha!wB^lofp%2f=_`ZxENT}Isn1-`YLLl0CL_%=Ln$;yVBn(p@&u3?J zJEhHJNQoq@w3a!d*@pNo5QENfBPXFTF{T;j!2Ep1NNbK^nR_TGOOk}O(T5W!v;{4m z(agDc(ykxEHn{fwT@JNlu#ZZAsckCxed8dq?q%;y(Zn{zZr z&+2BS#$=I7jS_)vDW6UrN{pOI>+=N&LusG;3LP&PR!lVjSv>o4<&rq2^t$J0(! zTYRRMO%kv-95d{kGh}7*S#wx(GzqJ7I`z!@Nev9ET|ud}tjw-`bOBdo~76j&jKS$1=o4d#u^tnhJHK{gFZxOUt|@V0qh;YP!_j+Z5DG-g#M zv#RAC>!@L-ZMTM0W_VV!7uA#cVmJGSKwWk8GmdIn{GZQcNNq1L9d#IgSBP)3%}aF3 z@NM&4ClR@UA4=FVI-VSvN~xpcsfh|-E6tP;HDyuGzs-O;V??qo9EQQ9Y^xbJ6(CPxw@Ln$?;9+;XKyS-U-Vgi$4 zOyi+2(wLR;BSCqEx#osR^i6+%VJj$yZ^X7OTcp*iVZ4SPhw&5qRL0N3_&I*T9_}*c z9fK0w27b`ubYPgJkT~;8meZ7VnlTXLLhV;Y9DfzYukkvS91#6R^|}l9*gBGKzwwhA zQlj6eX}2qpNycx&_$_`H#_#b5mQl%pQZHi>hw(@JiF3xbEH+rM6i&>}r2A-0Up(Hs zefPGz`L{PNVP-$8^ss59IobLhJFjoyx2VV=E6a(cnNG^c>W^5ao;+?Gb4n};eNIa+ zvPtR=_r+Z7Kc;1J`WDtaE4g^6|8QzZ#-BwA{zXD-+RDb=nvADU#Dzt1ukdC3HH^RE z??v22JiMJS-oQU3sO4~snmLDN8SX4CwTDWUOorxV2GVIgm-Df-m!(YQDI%-;HXCm0 zCJaWIePZSWM=dL>gm$^>RWN!vP-LuZVZ2Xh^YiSE5_)dmQhi;v&@x0@b*!S~=4he8 z`xwbl&I8|sh~8d}fVh+~Jm2bPO&#Y*6Vt}KjhO5t?j7hMUKPYNauc1!6CGXA79ViQ zMYi}X4_kSPC|pwvD?TYkGUe!6mdZQ)%7>0?c2Yl;=RETCuUkn?8JmDMOGLNdUW7NQ zZYfdf^}<n}+6yzvMBR*LTmP|j2O>+5Pm8IEKLb*6sWtEjY?s1>E?o6Ws?aDHt_o1&)*1u!j8i+%=JEg#rb3tLUrsKq^o?X!T{GAm$({(d=GmJ z7{V~WYB7QXq}<2OHHZL$q@7ux`5h8rHw+1|p1lnjLV%6mb>pps<~!?!qeEQ!=2Mq7Pw; z%2v^YBvO2%XdI>~;!g|ROHkqid}p}FWIV_doWh0s|i%jb08L$@_DiOkc#H5JsWUkJpo)97nt`H5>cV{#*$@gsTb4{WKtg2ME+V8QlHM5?P~`!*&Ds6D{&)G$B|M5u{3(N;pTo))UKO@zIR zCiLKh>(fq}(1Va$RsyWuq$l_cun(FrrD|YFzW@Bb*$~T6`uDNp2gnah2#`@9CF!o gD@T{|uKA*+H!vjg%xf=KnF`}F>{@Q*NUDPKe}ny&`2YX_ literal 0 HcmV?d00001 From 0f03ab692ac334dc48f9425ebb28e47fc3dd1117 Mon Sep 17 00:00:00 2001 From: git-leon Date: Wed, 4 Aug 2021 15:45:48 -0400 Subject: [PATCH 2/6] create and read completed --- pom.xml | 6 ++ src/main/java/MainApplication.java | 20 ++--- src/main/java/daos/PokemonRepository.java | 82 ++++++++++++++++++++ src/main/java/daos/Repo.java | 43 ++++++++++ src/main/java/models/Pokemon.java | 72 +++++++++++++++++ target/classes/MainApplication.class | Bin 4693 -> 4759 bytes target/classes/daos/PokemonRepository.class | Bin 0 -> 4120 bytes target/classes/daos/Repo.class | Bin 0 -> 1299 bytes target/classes/models/Pokemon.class | Bin 0 -> 2136 bytes 9 files changed, 209 insertions(+), 14 deletions(-) create mode 100644 src/main/java/daos/PokemonRepository.java create mode 100644 src/main/java/daos/Repo.java create mode 100644 src/main/java/models/Pokemon.java create mode 100644 target/classes/daos/PokemonRepository.class create mode 100644 target/classes/daos/Repo.class create mode 100644 target/classes/models/Pokemon.class diff --git a/pom.xml b/pom.xml index ba50188..2c16393 100644 --- a/pom.xml +++ b/pom.xml @@ -22,6 +22,12 @@ + + + com.fasterxml.jackson.core + jackson-databind + 2.12.3 + mysql mysql-connector-java diff --git a/src/main/java/MainApplication.java b/src/main/java/MainApplication.java index 8157416..c4def4b 100644 --- a/src/main/java/MainApplication.java +++ b/src/main/java/MainApplication.java @@ -1,5 +1,7 @@ import com.mysql.cj.jdbc.Driver; +import daos.PokemonRepository; +import models.Pokemon; import java.sql.Connection; import java.sql.DriverManager; @@ -18,6 +20,7 @@ public class MainApplication { public static void main(String[] args) { registerJDBCDriver(); Connection mysqlDbConnection = getConnection("mysql"); + PokemonRepository pokemonRepository = new PokemonRepository(mysqlDbConnection); executeStatement(mysqlDbConnection, "DROP DATABASE IF EXISTS databaseName;"); executeStatement(mysqlDbConnection, "CREATE DATABASE IF NOT EXISTS databaseName;"); executeStatement(mysqlDbConnection, "USE databaseName;"); @@ -28,21 +31,10 @@ public static void main(String[] args) { .append("primary_type int not null,") .append("secondary_type int null);") .toString()); - executeStatement(mysqlDbConnection, new StringBuilder() - .append("INSERT INTO databaseName.pokemonTable(") - .append("id, name, primary_type, secondary_type) ") - .append("VALUES (12, 'Ivysaur', 3, 7);") - .toString()); - - executeStatement(mysqlDbConnection, new StringBuilder() - .append("INSERT INTO databaseName.pokemonTable(") - .append("id, name, primary_type, secondary_type) ") - .append("VALUES (13, 'Ivysaurr', 3, 7);") - .toString()); - String getPokemonTable = "SELECT * FROM databaseName.pokemonTable;"; - ResultSet resultSet = executeQuery(mysqlDbConnection, getPokemonTable); - printResults(resultSet); + pokemonRepository.create(new Pokemon(12L, "Ivysaur", 3, 7)); + pokemonRepository.create(new Pokemon(13L, "Ivysaurr", 3, 7)); + System.out.println(pokemonRepository.readAll()); } diff --git a/src/main/java/daos/PokemonRepository.java b/src/main/java/daos/PokemonRepository.java new file mode 100644 index 0000000..0f5754e --- /dev/null +++ b/src/main/java/daos/PokemonRepository.java @@ -0,0 +1,82 @@ +package daos; + +import com.sun.deploy.net.MessageHeader; +import models.Pokemon; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +/** + * @author git-leon + * @version 1.0.0 + * @date 8/4/21 3:05 PM + */ +public class PokemonRepository implements Repo { + private Connection connection; + + public PokemonRepository(Connection connection) { + this.connection = connection; + } + + @Override + public Connection getConnection() { + return connection; + } + + public void create(Pokemon pokemon) { + executeStatement(String.format(new StringBuilder() + .append("INSERT INTO databaseName.pokemonTable(") + .append("id, name, primary_type, secondary_type) ") + .append("VALUES (%s, '%s', %s, %s);") + .toString(), + pokemon.getId(), + pokemon.getName(), + pokemon.getPrimaryType(), + pokemon.getSecondaryType())); + } + + public List readAll() { + ResultSet resultSet = executeQuery("SELECT * FROM databaseName.pokemonTable;"); + List list = new ArrayList<>(); + try { + while (resultSet.next()) { + String id = resultSet.getString(1); + String name = resultSet.getString(2); + String primaryType = resultSet.getString(3); + String secondaryType = resultSet.getString(4); + list.add(new Pokemon( + Long.parseLong(id), + name, + Integer.parseInt(primaryType), + Integer.parseInt(secondaryType))); + } + } catch (SQLException throwables) { + throw new RuntimeException(throwables); + } + return list; + } + + public Pokemon read(Long pokemonId) { + return readAll() + .stream() + .filter(pokemon -> pokemon.getId().equals(pokemonId)) + .findAny() + .get(); + } + + public void update(Long id, Pokemon newPokemonData) { + + } + + public void delete(Long id) { + + } + + public void delete(Pokemon pokemon) { + + } + +} diff --git a/src/main/java/daos/Repo.java b/src/main/java/daos/Repo.java new file mode 100644 index 0000000..f1238f0 --- /dev/null +++ b/src/main/java/daos/Repo.java @@ -0,0 +1,43 @@ +package daos; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +/** + * @author git-leon + * @version 1.0.0 + * @date 8/4/21 3:15 PM + */ +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(); +} diff --git a/src/main/java/models/Pokemon.java b/src/main/java/models/Pokemon.java new file mode 100644 index 0000000..912220a --- /dev/null +++ b/src/main/java/models/Pokemon.java @@ -0,0 +1,72 @@ +package models; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +/** + * @author git-leon + * @version 1.0.0 + * @date 8/4/21 3:03 PM + */ +public class Pokemon { + private Long id; + private String name; + private int primaryType; + private int secondaryType; + + public Pokemon() { + } + + public Pokemon(Long id, String name, int primaryType, int secondaryType) { + this.id = id; + this.name = name; + this.primaryType = primaryType; + this.secondaryType = secondaryType; + } + + 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 getPrimaryType() { + return primaryType; + } + + public void setPrimaryType(int primaryType) { + this.primaryType = primaryType; + } + + public int getSecondaryType() { + return secondaryType; + } + + public void setSecondaryType(int secondaryType) { + this.secondaryType = secondaryType; + } + + @Override + public String toString() { + try { + return new ObjectMapper().writeValueAsString(this); + } catch (JsonProcessingException e) { + return "Pokemon{" + + "id=" + id + + ", name='" + name + '\'' + + ", primaryType=" + primaryType + + ", secondaryType=" + secondaryType + + '}'; + } + } +} diff --git a/target/classes/MainApplication.class b/target/classes/MainApplication.class index 0eef2a7b175a643ca1601d905dd912bc749ae2e1..0ea7286391a3e3730791460d2dcdbf972d53f07c 100644 GIT binary patch delta 2462 zcmZuydt6gx7=F%n#yK3$fE^5hX`-RxHe4o!iJBLzG(du~$fyP^0|%oqP)b`Dvoy={ zq}|i5c2Bd$h)PSlXm`u(e!u7M*B|}YuiNvTjcM6n-{t*o&-=X3`)+^9En{PQ|9bWX z0OdHSVGfpSn2i-GE)#uB!Q~npxI)F1Vt$p1l`5`Quu4M~maDi%^w+9btzwOe>r|{2 zhU*pF;NX?wqia})8&%w-VHnnn%gmuAr;3|15!--`!hDN{TXCCs<@PMxfjbr4rQmK2 zCD@dO3xp z$sDjn%+I7_Ot1ZUX{Y&JwY_H_q(BI5k( zI^MvW64aC}qTnqZZ{r;u?_!^V_jJ6E{W{vQM8O9-8gRhepW$;>;X@rC;bR@2;8QbS z88xyBpV8s^@Y3SWo{r{VqOE4^==$*el*xeI~HUy&z zcIx;B-8Q$cbgfZG7o}ZHLWM z(VaJM!a@ldEs9d9P1~JW1yXD_Gg5q1NDS3nwkLDuXD_jLc={o2*lD{m0h?h@K&~EyqtV-sj2f?@B%peYOsmxrh^gK|WHt6f zH=J=~8#$uM6^%jKmaLrehSVL^0_YO<&#g?HB~OYbnO! z3XHe>FHZW18q`|;_hA9*$bf+^oQ`@jrc%jgBsoEhy9Fo1Jqe7i@p%U@#)hpmgE5pe z`uZ_;hsCB2CttE#TpN(N-^;q?qqPj#L@0Ro(C*;fXJR4W$fh%A;cSk0HyVjRe1_v3 zEaHvla?F_3C}`q|^KgC=jZ|md0c^I%rg;W1PQqvkDraFn9(g!{(Wzi$rclNw(*LQ<>q@M`G_0m=E%&Ww(cOR< z*oc#`39~E?XONXV^x*=;7LhtPE@pTak@yl^gl3LpT5m)PTKW9O6vZMRHY11&*$ZN` zA^!oJ^gGtgCcl{^m?bhvFdt5a+no;gBpc46XEnkzE8t1bVov0yT`M9iP;?Hak&}s) zOCh)jxQHosWawRoh2EVGy&G-m&?~UjrJ%94rl74SG@&fF%YJa0D`x+7y2m|Y0F&+5 zS}VYnrPQeMc~=@*K0$$6m#KD@Dsxfe230-;%SeF{8Xp29Q->joLX~WHaAdQHb3yu> z7uXeaN-@@%q&oR4ltOrb2*qm^MtQYyJQ+*YhZ86j55Go*Xr?5EQ(NZsC2-=_sj|Rc zD5t=eFipH^@DnK(Fiq@ClngSJ!}Q1_O9ePL#*A-brk}^qU%(>)W?Hl5RXH(~L9?<; z@Kr&PEMjk`rXm)_8JL7_j%+-ehbTvO%fABQpBJ)%p7j5am;B*PdAW?cC9D7njj3@| z?!>eNrc)uO4Ps^^%kC^{U$B`)q0LD3C#CwK8j*}j8~22`tDTN5p;H|eeo>!u7?q`1 V##2JDltZn8zDzD$!l@0H{sXr0-W>n{ delta 2303 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 literal 0 HcmV?d00001 diff --git a/target/classes/daos/Repo.class b/target/classes/daos/Repo.class new file mode 100644 index 0000000000000000000000000000000000000000..97016f8c7a5dcf4e4dbcd88f2aa75c8ed2b833d9 GIT binary patch literal 1299 zcmZ{jT~8B16o%hv3)|Ax(o#wbMNvS@XZ^rWz#D=INr6BKM(>to0*ht0Znp}T{sC|O z3EtwBK@+|Ax0v`3)OXf(cM~z2ZfDLp^PYE}nf>SWcr4wKS$MtzkyPY#$Ps z(=e~%^)zncmP+2%a7V*}K)*bZM%R^1S9j&Hv|NF~TH{E6rPo`!bx?1*j%gh%PVEXL zR_uK#kZYKh+~^+fNoPmjYcW!2*oNNP)g4pK{a~sSDi;3;c3!rq=l59@5L`PHNo_S& zPYl_1P1|BN;U1bDfplYEw>$N1*|r(XP$Q5~o&RwvkY$1KVqI^0PDnwZbRgZP;n=N~ zau^XP)uti_BHpr&>~vdhQ@T5+ZTb{z0>vPibDn?sA{;I!9CpPIeKh7 z=n=9!z>wLh;$0zN0D;%9@Yo zKX>c7K<|=ineJnOaunUpp<};RC+6M1fxuu0gS#;t$txA>Z;8VpQqrf!VXhTL%^6?+b^r*3*dX8iqXB*1jobt!|q$jKPqU@E>!*`jhE6j{=US+e+NbP*g zHIAy}FV;1#@G qjdRlzj84+k^}tyOtv>>-518a-AcL`{X*TZ?U?XdHDIH{FU1>@sUb=}X?h-q)UD$+> z_$<8UMUiMGF^LbrheG_1Z5k&{r%LBMm-C$Gch2*V`_I3B{SBaw-7FT-IEMv15VI;~ zP0YhI9%Ye2L(Jneo}{s!MHY<=z7W45=4l3BivKEurub(Wd@a6}#`82b6~xT0f_&>h z|54X^y0x#hY-_)vAYti!LqQ?3)Ak(G-xkksfx+iO?2c~6u zYYO6(bcsM{nF^$ z7NM3Z5gZ>hG7s^ZO}R0-Z+J~sR;VmTLc-dTZm>CbDxDln^XR5u{QTJAlk(F%9t12z z6NLMcVwNekqCH|8*riz>99vFQeAqn0+v5$)Gjw7p2`OV_rvj_nxQGmf?#yJNU6pKRk*#~65~-@;tmW8iar;5VD9QIKuhhfc?MYRZeK zVYhFJB2>JO4^&*ldnzuWsNyn8Dz2cUU}gI4UES07OslKC*gG&f9`6|#j*1u9QgCPb zk#_+rxHwW~Q2mobv)45o1v4S(&t`X3#W&a%(^inFl|{R&OETYK*K6g7Uj5K-sjgai zOtW0CV};S)DE{%3mx^Ev16x@bDU=<%*PF#t1uTMwxI|{S1pi)Cp!P z#8gnlN|-AO5}yRQHWj3X8`D7IlOPp>ES~`)Pc9v}2>~dxm?%i%_lb_wrh?qU?NcC^ z`J9s=w+M3k3=nxF0l703BsmFEp9*q!I!HuO!PDF$$o(@wL?Z&iuLZ4irl1ayt5Q5e%offE<2YS@X^4E`La>k+qEMI%#z~Izzi@Mi`6J#S xKQNW*j#Dh4!bPcTTzQBb9-T1euz^qTsUN=`3h6UOQmFh_e~;_;Ig8=*{{X6IkZ}M2 literal 0 HcmV?d00001 From 1479834a3d8c655a6e96b96db27b965fd1df5ab9 Mon Sep 17 00:00:00 2001 From: MannyMb Date: Thu, 5 Aug 2021 19:27:46 -0400 Subject: [PATCH 3/6] testing --- .idea/compiler.xml | 1 + .idea/runConfigurations.xml | 10 ++++++++++ src/main/java/MainApplication.java | 2 ++ 3 files changed, 13 insertions(+) create mode 100644 .idea/runConfigurations.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 5a76f28..bce688f 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -8,6 +8,7 @@ + diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..797acea --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/MainApplication.java b/src/main/java/MainApplication.java index c4def4b..d2633f1 100644 --- a/src/main/java/MainApplication.java +++ b/src/main/java/MainApplication.java @@ -36,6 +36,8 @@ public static void main(String[] args) { pokemonRepository.create(new Pokemon(13L, "Ivysaurr", 3, 7)); System.out.println(pokemonRepository.readAll()); + + } static ResultSet executeQuery(Connection connection, String sqlQuery) { From 1c8c44ab844f6f8d8af77b47fc40969a6865f587 Mon Sep 17 00:00:00 2001 From: MannyMb Date: Thu, 5 Aug 2021 20:21:48 -0400 Subject: [PATCH 4/6] fin --- src/main/java/MainApplication.java | 36 ++++--- src/main/java/daos/PokemonRepository.java | 82 --------------- src/main/java/daos/VehicleRepository.java | 105 ++++++++++++++++++++ src/main/java/models/Pokemon.java | 72 -------------- src/main/java/models/Vehicle.java | 96 ++++++++++++++++++ target/classes/MainApplication.class | Bin 4759 -> 5395 bytes target/classes/daos/PokemonRepository.class | Bin 4120 -> 0 bytes target/classes/daos/VehicleRepository.class | Bin 0 -> 4284 bytes target/classes/models/Pokemon.class | Bin 2136 -> 0 bytes target/classes/models/Vehicle.class | Bin 0 -> 2626 bytes 10 files changed, 222 insertions(+), 169 deletions(-) delete mode 100644 src/main/java/daos/PokemonRepository.java create mode 100644 src/main/java/daos/VehicleRepository.java delete mode 100644 src/main/java/models/Pokemon.java create mode 100644 src/main/java/models/Vehicle.java delete mode 100644 target/classes/daos/PokemonRepository.class create mode 100644 target/classes/daos/VehicleRepository.class delete mode 100644 target/classes/models/Pokemon.class create mode 100644 target/classes/models/Vehicle.class diff --git a/src/main/java/MainApplication.java b/src/main/java/MainApplication.java index d2633f1..9c2deb3 100644 --- a/src/main/java/MainApplication.java +++ b/src/main/java/MainApplication.java @@ -1,7 +1,7 @@ import com.mysql.cj.jdbc.Driver; -import daos.PokemonRepository; -import models.Pokemon; +import daos.VehicleRepository; +import models.Vehicle; import java.sql.Connection; import java.sql.DriverManager; @@ -20,21 +20,27 @@ public class MainApplication { public static void main(String[] args) { registerJDBCDriver(); Connection mysqlDbConnection = getConnection("mysql"); - PokemonRepository pokemonRepository = new PokemonRepository(mysqlDbConnection); - executeStatement(mysqlDbConnection, "DROP DATABASE IF EXISTS databaseName;"); - executeStatement(mysqlDbConnection, "CREATE DATABASE IF NOT EXISTS databaseName;"); - executeStatement(mysqlDbConnection, "USE databaseName;"); + VehicleRepository vehicleRepository = new VehicleRepository(mysqlDbConnection); + executeStatement(mysqlDbConnection, "DROP DATABASE IF EXISTS model;"); + executeStatement(mysqlDbConnection, "CREATE DATABASE IF NOT EXISTS model;"); + executeStatement(mysqlDbConnection, "USE model;"); executeStatement(mysqlDbConnection, new StringBuilder() - .append("CREATE TABLE IF NOT EXISTS databaseName.pokemonTable(") + .append("CREATE TABLE IF NOT EXISTS model.car(") .append("id int auto_increment primary key,") - .append("name text not null,") - .append("primary_type int not null,") - .append("secondary_type int null);") + .append("make text not null,") + .append("model text not null,") + .append("year int null,") + .append("color text not null,") + .append("vin text not null);") .toString()); - pokemonRepository.create(new Pokemon(12L, "Ivysaur", 3, 7)); - pokemonRepository.create(new Pokemon(13L, "Ivysaurr", 3, 7)); - System.out.println(pokemonRepository.readAll()); + vehicleRepository.create(new Vehicle(1L, "Tesla", "Model X", 2021, "Matte Black", "1FTFW1EF9DKE31717")); + vehicleRepository.create(new Vehicle(2L, "Honda", "CR-V", 1999, "Silver", "1C3AN65L65X036242")); + vehicleRepository.create(new Vehicle(3L, "Toyota", "Camry", 2010, "Gold", "4T1BE32K35U037372")); + vehicleRepository.create(new Vehicle(4L, "Honda", "Accord", 1996, "Burgundy", "5UXWX9C56E0D36665")); + vehicleRepository.create(new Vehicle(5L, "Nissan", "Altima", 2012, "Gray", "1G1AK15F177174588")); + vehicleRepository.create(new Vehicle(6L, "Tesla", "Model S", 2020, "Red", "1FDKF37G0VEB13318")); + System.out.println(vehicleRepository.readAll()); @@ -86,8 +92,8 @@ static Statement getScrollableStatement(Connection connection) { } static Connection getConnection(String dbVendor) { - String username = "root"; - String password = ""; + String username = "Manny"; + String password = "zipcode0"; String url = new StringBuilder() .append("jdbc:") .append(dbVendor) diff --git a/src/main/java/daos/PokemonRepository.java b/src/main/java/daos/PokemonRepository.java deleted file mode 100644 index 0f5754e..0000000 --- a/src/main/java/daos/PokemonRepository.java +++ /dev/null @@ -1,82 +0,0 @@ -package daos; - -import com.sun.deploy.net.MessageHeader; -import models.Pokemon; - -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -/** - * @author git-leon - * @version 1.0.0 - * @date 8/4/21 3:05 PM - */ -public class PokemonRepository implements Repo { - private Connection connection; - - public PokemonRepository(Connection connection) { - this.connection = connection; - } - - @Override - public Connection getConnection() { - return connection; - } - - public void create(Pokemon pokemon) { - executeStatement(String.format(new StringBuilder() - .append("INSERT INTO databaseName.pokemonTable(") - .append("id, name, primary_type, secondary_type) ") - .append("VALUES (%s, '%s', %s, %s);") - .toString(), - pokemon.getId(), - pokemon.getName(), - pokemon.getPrimaryType(), - pokemon.getSecondaryType())); - } - - public List readAll() { - ResultSet resultSet = executeQuery("SELECT * FROM databaseName.pokemonTable;"); - List list = new ArrayList<>(); - try { - while (resultSet.next()) { - String id = resultSet.getString(1); - String name = resultSet.getString(2); - String primaryType = resultSet.getString(3); - String secondaryType = resultSet.getString(4); - list.add(new Pokemon( - Long.parseLong(id), - name, - Integer.parseInt(primaryType), - Integer.parseInt(secondaryType))); - } - } catch (SQLException throwables) { - throw new RuntimeException(throwables); - } - return list; - } - - public Pokemon read(Long pokemonId) { - return readAll() - .stream() - .filter(pokemon -> pokemon.getId().equals(pokemonId)) - .findAny() - .get(); - } - - public void update(Long id, Pokemon newPokemonData) { - - } - - public void delete(Long id) { - - } - - public void delete(Pokemon pokemon) { - - } - -} diff --git a/src/main/java/daos/VehicleRepository.java b/src/main/java/daos/VehicleRepository.java new file mode 100644 index 0000000..d9e30cc --- /dev/null +++ b/src/main/java/daos/VehicleRepository.java @@ -0,0 +1,105 @@ +package daos; + +import models.Vehicle; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +/** + * @author git-leon + * @version 1.0.0 + * @date 8/4/21 3:05 PM + */ +public class VehicleRepository implements Repo { + private Connection connection; + + public VehicleRepository(Connection connection) { + this.connection = connection; + } + + @Override + public Connection getConnection() { + return connection; + } + + public void create(Vehicle vehicle) { + executeStatement(String.format(new StringBuilder() + .append("INSERT INTO model.car(") + .append("id, make, model, year, color, vin) ") + .append("VALUES (%s, '%s', '%s', %s, '%s', '%s');") + .toString(), + vehicle.getId(), + vehicle.getMake(), + vehicle.getModel(), + vehicle.getYear(), + vehicle.getColor(), + vehicle.getVin())); + } + + public List readAll() { + ResultSet resultSet = executeQuery("SELECT * FROM model.car;"); + 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 Vehicle( + Long.parseLong(id), + make, + model, + Integer.parseInt(year), + color, + vin)); + } + } catch (SQLException throwables) { + throw new RuntimeException(throwables); + } + return list; + } + + public Vehicle read(Long vehicleId) { + return readAll() + .stream() + .filter(pokemon -> pokemon.getId().equals(vehicleId)) + .findAny() + .get(); + } + + public void update(Long id, Vehicle newCar) { + executeStatement(String.format(new StringBuilder() + .append("UPDATE car SET make = '%s', ") + .append("model = '%s', ") + .append("year = %s, ") + .append("color = '%s', ") + .append("vin = '%s' ") + .append("WHERE primaryId = %s;") + .toString(), + + newCar.getMake(), + newCar.getModel(), + newCar.getYear(), + newCar.getColor(), + newCar.getVin(), + id)); + } + + public void delete(Long id) { + executeStatement(String.format(new StringBuilder() + .append("DELETE FROM car ") + .append("WHERE primaryId = %s;") + .toString(), + id)); + } + + public void delete(Vehicle car) { + delete(car.getId()); + } + +} diff --git a/src/main/java/models/Pokemon.java b/src/main/java/models/Pokemon.java deleted file mode 100644 index 912220a..0000000 --- a/src/main/java/models/Pokemon.java +++ /dev/null @@ -1,72 +0,0 @@ -package models; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - -/** - * @author git-leon - * @version 1.0.0 - * @date 8/4/21 3:03 PM - */ -public class Pokemon { - private Long id; - private String name; - private int primaryType; - private int secondaryType; - - public Pokemon() { - } - - public Pokemon(Long id, String name, int primaryType, int secondaryType) { - this.id = id; - this.name = name; - this.primaryType = primaryType; - this.secondaryType = secondaryType; - } - - 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 getPrimaryType() { - return primaryType; - } - - public void setPrimaryType(int primaryType) { - this.primaryType = primaryType; - } - - public int getSecondaryType() { - return secondaryType; - } - - public void setSecondaryType(int secondaryType) { - this.secondaryType = secondaryType; - } - - @Override - public String toString() { - try { - return new ObjectMapper().writeValueAsString(this); - } catch (JsonProcessingException e) { - return "Pokemon{" + - "id=" + id + - ", name='" + name + '\'' + - ", primaryType=" + primaryType + - ", secondaryType=" + secondaryType + - '}'; - } - } -} diff --git a/src/main/java/models/Vehicle.java b/src/main/java/models/Vehicle.java new file mode 100644 index 0000000..f99aaca --- /dev/null +++ b/src/main/java/models/Vehicle.java @@ -0,0 +1,96 @@ +package models; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +/** + * @author git-leon + * @version 1.0.0 + * @date 8/4/21 3:03 PM + */ +public class Vehicle { + private Long id; + private String make; + private String model; + private Integer year; + private String color; + private String vin; + + public Vehicle() { + } + + public Vehicle(Long id, String make, String model, Integer year, String color, String 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 String getVin() { + return vin; + } + + public void setVin(String vin) { + this.vin = vin; + } + + @Override + public String toString() { + try { + return new ObjectMapper().writeValueAsString(this); + } catch (JsonProcessingException e) { + + return "Vehicle{" + + "id=" + id + + ", make='" + make + '\'' + + ", model=" + model + + ", year=" + year + + ", color=" + color + + ", vin=" + vin + + '}'; + } + + } +} diff --git a/target/classes/MainApplication.class b/target/classes/MainApplication.class index 0ea7286391a3e3730791460d2dcdbf972d53f07c..2a36ee0aa2eaeca0b7f7bde47d5446a4d6f1f555 100644 GIT binary patch delta 2911 zcmZWr2Y6do75-E$TzSL}DUEEajv85VB-xD% zRE#nb0-<@35>~?uWjYCX#L$!tr4U*Qg-}{X%P3H03zX1s?vw1qU-U`u-h0luXZ-)U z_v!wPdU4{BS1vpRpprJ&upg&vxE=2o_<$TgsNh33Sn*+j2ju#+z()i=s^DWbWZ;y* z$L075flmsY5%`qAg94ux_>2^PR>9|N_&mNKFePx-hI2SC@I`?y*^q;2>37BoBsex; z5||a36SyES&r;)K7WlHjR|FmsxVRv+2s|wCRe`T9NUQ>17x;$2HwC`6AWReZw!n7; zzMGCm@I4vrQ5(LGAILf`W#ET+Ou^#{ew47G4o_rYH-0Q1KT+_cz)x-P;%5SvWg$P8 zi>CyBA@H=oGji`Q75pj#zs7F_o)vgb;I{(56ZpLif57t!{%FIW@Mi@t$n{?o{8ho< z6#U(W+wg>fe<=7TA#G zbeSGM|Cq@~^rBv93D8UWQA;KLOTTE@w9k)06*>k9*3rq>p^%DWcqbv}dJorptMKFB zgf)%6-CfScx}LiFx^AztwaMx2Z|&~sc8*4d1EC!%?!{XOg?fv1&EBMlVC!Yeg+=b2 z{t171$R8dl?~X@<;gS0BU}!iHC2VZ)dFy(-PIldHc<$WYv&8$BA%C<;#eeX!{&`>1GN>M)^9T^V~v$@^V z+rOuOTZ5;{ThZvQs;cs^U1u;B^M~bzP&_y)Q)!O+rLn8oRoCY7G`Xrd=SojajjXla zD7Kqm_61~QS5sqKle@aPqR(6Ja=TqM3RzW3BSj@a=?d9Y${EQjNzYMI zr||rh^aoA*Zs%)Kegue5(jY&Fcva3L@n|ic0iETE3B&wMGlUufJXezjxC0}+O2+{N zS;Cv?9Iwng=INB_O=#KE$kJBuV;U=GAxh_wGhmxVu9m0e+m+{LQJ^`rRWn#UjWvdH z1=dRSI&HmOxg^yaw8ACojZ%G+R%BN$OZ8@rv%GG1Npg3YU3qjC`wO%!TKN)vh174= z+;-(DxxG^JEKyfUb)HsZSDuyXZQAyv`W$wYPGjdZc3lHx5PACXOjn{A>(Gw%eC2L{ z4-WKVBcj-Z`*0JcP=rg^j2BQ$nJA%LMppvpOoD_vaZmzC%MijSL#R<2!iX^B0%JIo z1eM<`W@(Sy;#t&ol$OllW)r45=216LI+H;CMYfZqWa1XKlVoYI@YBujib|GxkcBEE zZZXTP>^q7W$H-!`;uz-{`^E%kAV0ad3y0a`B+r@j4h47fj@ROK$!w_0@By4Q?<}4} zLxOM$M~f|UXf&at*lLWO#c9U4-NMMt!#kig&7gT683Qv=wH9s&$23~GDW>tN1!)^g z8D!Zi*Gb!1Qg(y1gC+SEL!6M-Ow7GRXRgN1AhTWKQZmD^oHcMcf%h)rQj29=)lPmF z?m{+dnXQ{q$l3;ebq=7Ok#E3T(TF1~JH~b=(89Z$a1zaU0IddwwTwzOqw{)3$plA& zX}X7}W_EOdsXEN?nDB1A0dM5+CsPnhf==U2cr%X@*eqDCz(gl#=VOf zXsNieofqO-xaE!*XbA@PD9=m=Mt0Cuc3@WU4&p1x=);8kLy*GhNv>Q*tJZF9*L)04 zvb(yuEsFW4^~guB(IhK7%SuXT(Kof-B6H8Tq>?XWSV|U?-@<(X{#Rwjeg@Oey)wuN z4Iz)u)M_rli8~So%O!l@mGR+~xK?rwWw03sNgldtyo)geJE_ER1I;wJxF2M*6tcVf zcxE>0%aiq$z@p&9;x|>M{123>Qd-OI$=CKwqksHi49sFLH$&SzZX4js?={@!63qS delta 2367 zcmZWqX>?OX7`>CF?=^jGX^PMikRUCTB&8yS0%dD$&_Y|Vtx83OK%Y=Zo06nJ6^JVe z;>HsY6+v7OR}f8GtAM-WzT&>`a*jXz=kbVlUeZAIo#f5TH#6UNzx&;pXLz<3#*Y5; z%pm}!IPSpNSnEI~)~Q%8+n9nY9kAmn6<5pgH7c%Eah-w<4rE}hitA;2gNltRHmSH# z#b#-^Nx{u_x|EORz%95{#cd7@#1`qy=$pz^aeF#qTd_@=w>xkLcE~7qX5cQ|tzf5u zdmJdht_+-o-STy>f;}qkbD#+Kt9U@hdQcAbs(47nJ{1qkt&b>pGy{*}aTQOf*stP% ziYHYZbl@pGtsw3|7rGVn$ni5uE_xL_tKc~YW@49uLkbQX5%JQ9_RtEwHPlwGw}&Dv z(NMTkAg`u55Q>z{OUxMaEuV><2gh6Mg*aktu<7D?L7Kfk)6vBBMMi$Ko#T=5^<;N^i;fs$aLZD~nEG~Cj*w6dcm*sO;I zCM12+a}6CEC+wNSPu)B=NkwB|aZoSP@Dg4&TxmtIHsW(f^)*ph(xRFxsF; z6&%sv_~2Q{>Cv#>#dmA0#mce4D|apZPG_4Q(4(?Fcojls^m zv;j&N^5Yniw7R5qSjze&PWQzzJP!BC$g|-z{>&a1^J4^~yBKXG0zAm8QHZNB+C=0| zL`5y?OhlcSi+RN4L_5wyJ#$c5w#EcX#JF0b9PH`Fh+3bw2WMEYzqS_zO};J^9yZg{ zkjX$+GkGU$+ypN#79Y*U$ii4Nu7?wL`aT~QFh&-+xDfN%qi-}3fqVwzA}pZGi`gfO zwF)lbj!UsHfkwG^aO?ELR+4E;o+iKI>RoY0BzvEup3Of7UZ;$+xA<I40n#}yCP`c&VfT`F>+h(rY!dr1Grehms zU>7P(4yTiqTy$a)S+dZ>N>+CPi7&u1EN0I}>#bN4Lo>r~OHwQqx*Iw!V=IZxg6(fu z#9z3jlKiHVVBT{Hf*CkbZda<@<1Dz4shzBNBC|{kNM$yJsK7&Er>--p^Z_v{A%}p6 zQ1tQ;^e=tRDW!L%O7B8Ts`Lsh^ODebktCsQAv7DExpJ(>r{-AynC5W}?ZJ2}_SZ?; zi<4?p2`rYA!ZwJgK&{)Tc9km2p~jt5c^@oi5{%S%9~c{T7&IwV$#yGy7L&Lfh!b>R zRnR7Q@Dt+XwjdKDSOGs`awc_F5StehT63VG7_WHUpdH)of1fOq9 zqAws<-W2$;6bpDvtUM@bWGb7-BbO}Y5za6k4L6TQ0ma~@42mfLnN%q;#ERiCPnYDY zj4D~c*2<}{NpTv+A;O-8n{yFm&uZqEC-d{drl2GB>r0d0(`1@!xLQgo-#I0Y@*|kq zjcF9foL9F;lkJRT+jmJMs?x$WL9SZP#8xn=Rx<&4V`j4|tFeZ= Tq+ltBIt88SoVc7r3$FMV(+kh5 diff --git a/target/classes/daos/PokemonRepository.class b/target/classes/daos/PokemonRepository.class deleted file mode 100644 index ea1e44d8a38990ed32fe83aae7ab49eb27357eff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4120 zcma)930oW26+I(_2E<@6wy|;ASa!gG1juQdwlR)VjKP*879--6IITNK1B^YIk!MD> z>Aoc0_ohp_w`uDxX=^tLi)ohbZJM?}s9%@!W=7J0AYVQ{-n{j`bI(2RzNc6Id*?*} zZ^6Ifh~r{2`tX>Hcg4|wi%od9_+Dzldzzq%>b#7690yPkg(ixHI2N%aYI+=(aV1Uz zMiYwSYs#?V*o%uTDB-FoY#B}*F3O^~CYD|oOK-Gb8Sj{)f*U{6QZ%B#i&)z(Ej=#08cx)&>7qRZQw>T;(&ec2*G7*&JA0+?L#txIU% zI?O>XEsPijVOH#yUEN4$b;l)$h+Ys5c&r$zxtPwmwr(zRBx$mNbIOLB(_9IAYqMr5y<$6qfP@Dg zlrY53&GZsSK=F|+b5Csb{v_?T=3F&@WkM}^i)4IW#uq3gV#?`@rs|e$y477r&9=6p zf=dZU0*!clWi7JRzjbGt4}y~6g21WTe1^1KDtIBir_R_`TO!1}OznE0q0_3Xay?a` z1(K)*&j-W#t%h2hFR0xDaQ86@uVa@-c~o*%+0JX@x=?jzoo0u`MhXV-MFmNu81UN8 zzHCmFb)%r!5{_mjb7M2JiOl5eRDzDG^QxmwQcyzyEnYPG6nqI^me8jc1`DD*X~b9ICx0d<9>{ z*A#pmPb&BZo|5rR1>eHA6?{iDzN_GS_`ZT4;D-c~8_SN3&L)zH@tLWKoq=<&r|~16 zM{h4rtRuFqE{j7&i7EIoexl$ee#*#gKCm)=rr_uJg@Evkf?wiSg3w=6lnQR)HZzoG zQY5JG8KUDgw`R(ws~5HE0TUK}qu_oVSMV&JBL$}{%XM5^Elp_dl2vfpVtBqCxA|FV z$Et!gtjoBgU<1EZ@B&_x@sfg<@jC^-7Z^IX&sh|;Hz2YYlSUP2^%&FJ8XIm*s@W}k%47}-)e#tL z)8R};U>OO!YpiBWS6dX?m9MErS({oQ4}F<1xL^i1ZKt)|=1drpT?KJ$!Lo}gNw|L- zuP^$^%R}qylv$*PCg6r!X*aZd+0~fFT&<{?G`DXXbAn|hn0mgf*~=93cGLVVguJRz zqd!qoyWt0mS)f@s=iLHgt4$14QTcJMQZ3S*YCD?9KRe(%CvLBEVHdq*#SnWd$?Xmc z8KvH^C*HDprZO2pL4#VL7B&%7A(x(2E_V<2Y~|+i?$DUyGFKKQ+*Og8cdGqfaVc_e zIF3KykK*a^r){rd?hth~q55NWfCI-pqYGuzdyb^1ZLOf^8CQnD&!zR7^6)I^hAV_w zkU^)+g~_bFNsjkriJ1u6Q2J12mLKydu>?af#p%vFmgJ>EaRUN zdg}Pu&L0VPzxF&FrV!(h(9i#fxRCi0Zf1P|gDi*G8fSlm-*|ErQZn^CBDdL!AkA_Y zU+du8JBoc=)rn(lb^5b$FW$r!*LhYYT6;5p0Qff3{7M{aOg@LmEmnMUF|YHWXGZZS z1ZE`Mhqtmv0D2lRZ;La@4K&QHBHGcof>?(viY68-XqI0g^f44R0q<9yA;$Oahk9L*^e~CObM-uqV5Ly@b7QBDIcA2~Xi%D!PvS5lp5Uz3=g8 zD&|)jQ?g%)4Q$}R+~69z)^M;Z+SRy*ySid5R`G^)yfK1DZvOAtn`oWfz@fRpRU}>- zxJ3+YxP*D4je5}<$8MrX5=)9BgZxP}L@(2f{V~SsUJSDwVU!*s+0&%^0^5(#pG)*) zo?hkYlfhXc$}?!<+7oP@pa%N6>H*fGT#>{{)*3l-7!R@*o_7Ib%&9|I=Uk)dL*pi=*u`z)7wFU13^X!uZ;lr5>gjI9b#Wi%86=l6Qt!l zca!LTF4*-!S`ddos_Dp=@mbGA!XK=fkjRTL!3CHlrxAW1CeywP_px8NP-iR~!Xwog z6DBIBV@DIyJDBkF+8!5aH$d?~KxDHxKqRyG84s2?@V;v!AydsBCmdpsed#w~&YS-z cUg1|Hm%rjw{Ef_hm~9c@kC2p);$wLH|GKIMsQ>@~ diff --git a/target/classes/daos/VehicleRepository.class b/target/classes/daos/VehicleRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..3d8a35909607702bfb57adedcd9fdcdf4f8bdb1f GIT binary patch literal 4284 zcma)930oW26+I(_MiPS|*kH?PY{iCHAZ*;UNt58`w-rS-nWS zR8F;uJ(Jq3o;9>_tzZ>($FdiAX5)3Y_iMRn(FYRorzSQB#a7RuOKGR zd*~9H*DrICujcvB+-MzmDOxe-0M0c<^%i0}?myEJCa zX?e>$sX8j(rwBA(5!KjvWP~CL-e%fwsQIa!+AgTKAC>Sb&U=t?OX?eomBhBd1X(Z9^mJ!SRXs(8$DS+?CRitZF9|d>&7cjh^d{ z3!SkQy6%n(m37Bmk#)zZvCg=J#AJW!++aGM=qPr_4|Nm|mD{z?oxKXafUER(mCfkX z1*X1&r}0GvU&2)dUlz?*@Kpt06Qi%=s*GI#4pTSmSl%ucjdFt4Y~+r5R#1^( zmC9C|Vlo$p-4YfSBOxy)28S89khQLX95NkkMzh7K+%e$QxDbbvqRiC@s>~=fZP|I1 zM&7%LRS$WU$z|gykR_rTL*I7dYL~Ta$(#E#IUvI(t;p-owNajdwKFBMd~sEOjT1-~=m8>AW~ZFE|Eqt4XA zx;06{EmiYsC0w<;ptoaZO5C*^+K zSn1ShH7o8_5*qT=CmH`BR?4#GN(JW75HEuEfT0$P;=b}qtt)*zuV$WB%^a^Z?cR&M z+e&23ixa$^)NX(Ei{6pjzgwGDKJtKS7-^khmhn#s9UJ_!nLQHrZNHBf>@ME=B_#Pj zAinUtV@EhXf*!U<`E-i&0rt_ZB}iS#=MZ?7PXWA^?GFAT0CpmXU3{w*ck-#t+l|-p zCx!SIbx|dv-G#e-Oo1(Nt-k990@pe4;6m|MsKv0$t|7Fxz@mT_B5j)j-7Zw31Uc;MRqp1y|0kyYHD zIlP1eFLqxiwIYe=SrEw=2-4RA~f-yZ$ z6Z0GwY2ZAL6X||DOy@j~H@YsFrX%A>bGDCq=_LMfj)Gk4=Z-$q6Y(C7`xw}hJnIBU zGSNFQz)_f35zY^~TD#&qR>mV#=9_%(rx}6(aRDJ4Va;j0nKLQQP@VrllZ;_P{u|RL zWQ;~I#)SaRa`QNedAgeAj1YRfYY_)m(9Wc|Ne;ZP-4S4ONWvl#FCkXd>s}HDsRc={ ziF9_6P>e_K=Ug=v;uS5#>8^7;O~ND|@J~HX1d&8iReoL?47(618a-AcL`{X*TZ?U?XdHDIH{FU1>@sUb=}X?h-q)UD$+> z_$<8UMUiMGF^LbrheG_1Z5k&{r%LBMm-C$Gch2*V`_I3B{SBaw-7FT-IEMv15VI;~ zP0YhI9%Ye2L(Jneo}{s!MHY<=z7W45=4l3BivKEurub(Wd@a6}#`82b6~xT0f_&>h z|54X^y0x#hY-_)vAYti!LqQ?3)Ak(G-xkksfx+iO?2c~6u zYYO6(bcsM{nF^$ z7NM3Z5gZ>hG7s^ZO}R0-Z+J~sR;VmTLc-dTZm>CbDxDln^XR5u{QTJAlk(F%9t12z z6NLMcVwNekqCH|8*riz>99vFQeAqn0+v5$)Gjw7p2`OV_rvj_nxQGmf?#yJNU6pKRk*#~65~-@;tmW8iar;5VD9QIKuhhfc?MYRZeK zVYhFJB2>JO4^&*ldnzuWsNyn8Dz2cUU}gI4UES07OslKC*gG&f9`6|#j*1u9QgCPb zk#_+rxHwW~Q2mobv)45o1v4S(&t`X3#W&a%(^inFl|{R&OETYK*K6g7Uj5K-sjgai zOtW0CV};S)DE{%3mx^Ev16x@bDU=<%*PF#t1uTMwxI|{S1pi)Cp!P z#8gnlN|-AO5}yRQHWj3X8`D7IlOPp>ES~`)Pc9v}2>~dxm?%i%_lb_wrh?qU?NcC^ z`J9s=w+M3k3=nxF0l703BsmFEp9*q!I!HuO!PDF$$o(@wL?Z&iuLZ4irl1ayt5Q5e%offE<2YS@X^4E`La>k+qEMI%#z~Izzi@Mi`6J#S xKQNW*j#Dh4!bPcTTzQBb9-T1euz^qTsUN=`3h6UOQmFh_e~;_;Ig8=*{{X6IkZ}M2 diff --git a/target/classes/models/Vehicle.class b/target/classes/models/Vehicle.class new file mode 100644 index 0000000000000000000000000000000000000000..c4b8a0b67339069898f15b66a521f18d01fa2be6 GIT binary patch literal 2626 zcmaKsZBr9h6vzLYhutMC4-HRZt)dkOAsDsT+Cr#`Sg=8@Xj=NbNw&BcvP=@Jold_` zU(%TdXX;G*z8|X7|GB%s5;nX!_uRYZp7T2ocmMtGufGAzqmsgTtn^?U4@7(>VpYVN zh=(FRH&9H$#EOV@1CIyft4OyR=cy6L(;!6`>nb?%GuMK=-;9Ctb zx2j>VxNX0(^EJD^l`nertpyE<9s8xDAsza%(Q3HrTXM&%IyKt-;@AxhLm`{Bddt~z z8g!7Xcr}k-{xu)WI6}wil8?Nkw z!$j+a+Z0L_x0x?FFWgGaVUT(z6kCyp_5tsiCx^Ue8U>C7Jh|nx)>yH0W+rqcs9Cb< ze;hhRC07kzT~|dNK5_Y|tOl?91|wkyq3EW#@M~|1v9F5bP1T8!6OIpaV`v)t7NcR$ zhXz6?u9y9eiR(bsd0JBaM-Y5Lu$j@YgC*Eu8e^dwD_9LrG=}Q zwD2x2Sa=T?EnE^Yfy)-Ii1t1%YM71YsM;;N?AELK$K`FO!t(C!It>fo;d>1?qpzHW zu3_x>rTBHYx98TX4hOwAVE)yu7A*XLA4S-#Y;Ho{Qej&5Wq&V?E3hxQ33)=)Xr$f? zRXsPsCqqR`Sy;ji4gDwQo-g4T!q1BX`E$c($Ec za~*&tQ$jh#-3MGXuF32hXn!cPY04Dc0YgY&7#V7oZ-g0Sxf2Jol;YrbS{huZ#6fnp zjaW9xaQQ@Q zlAR!n1Sxa@k+~6&Pa-R#cY@rB1X+l#h~5cupCBt;KxAwMWHA!N=mc4f1Sv#=gx;S& ztVM#XcL9-CBOv^-Qc7$72?pPL3v=@gda?&d?HAv|;-)X%e}I83pVI*b)9?6toXgBc7SvH3=j13C)CSFF7LEoJ@%(O*+3tj fA0^O-GCsu}W$y*=?k?^5u8Ril@qC%P81DZMRvypS literal 0 HcmV?d00001 From 2a2b2c3691b38983133638c25564de328a014a34 Mon Sep 17 00:00:00 2001 From: MannyMb Date: Thu, 5 Aug 2021 20:34:29 -0400 Subject: [PATCH 5/6] fin --- pom.xml | 6 +++++ src/main/java/daos/DELETEME.txt | 0 src/main/java/models/DELETEME.txt | 0 src/test/java/daos/DELETEME.txt | 0 src/test/java/daos/RepoTest.java | 26 ++++++++++++++++++++ target/classes/daos/VehicleRepository.class | Bin 4284 -> 4663 bytes target/classes/models/Vehicle.class | Bin 2626 -> 2614 bytes 7 files changed, 32 insertions(+) delete mode 100644 src/main/java/daos/DELETEME.txt delete mode 100644 src/main/java/models/DELETEME.txt delete mode 100644 src/test/java/daos/DELETEME.txt create mode 100644 src/test/java/daos/RepoTest.java diff --git a/pom.xml b/pom.xml index 2c16393..3762cfe 100644 --- a/pom.xml +++ b/pom.xml @@ -33,5 +33,11 @@ mysql-connector-java 8.0.18 + + junit + junit + RELEASE + test + \ 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/models/DELETEME.txt b/src/main/java/models/DELETEME.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/test/java/daos/DELETEME.txt b/src/test/java/daos/DELETEME.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/test/java/daos/RepoTest.java b/src/test/java/daos/RepoTest.java new file mode 100644 index 0000000..5c0f14f --- /dev/null +++ b/src/test/java/daos/RepoTest.java @@ -0,0 +1,26 @@ +package daos; + +import org.junit.Test; + +public class RepoTest { + @Test + public void testCreate() { + + } + + @Test + public void testFindAll() { + + } + + @Test + public void testUpdate() { + + } + + @Test + public void testDelete() { + + } + +} diff --git a/target/classes/daos/VehicleRepository.class b/target/classes/daos/VehicleRepository.class index 3d8a35909607702bfb57adedcd9fdcdf4f8bdb1f..a027eb188c8622b6a65175d2f3e04c6d50f63f4f 100644 GIT binary patch delta 1697 zcmZWoiC0u*6#qSDnD^$*2Q#7Av7*K!WGXg6fe@jA4r!qf!{UTlBMdSyFgP<}&@x%s zzCYWGcH2lJYB0C+2-#7LE*0H6EC^``OWvcQS3^XKeJa-Ln2D$)F-hW*Y>=d1l8rhp!+_2xgBmWE z{0bFU>c~aNfvb>^vME z3m8`5>I(D+JmEm^I#1o&u3%eS;6-c`*p6X=mn0d%%L1cPdIiHOUKL1UOkf9IGyb;b zt=WlP3Z|J+HpD|=PgOJ;7^n@!;wrWZ?8Y8}y?9+gc2A@|7>;?GgPozaa8Sh?0&n6i zfw%FFigyLx!#;U=vxttcShP{ zP8&XQVS?;q7d{absrXvp8+@zaq^A0%RgGRZo8{!nk~NcY^9W!?s_yDu8*2}B2$x0`+y zEO@E6*2}Cl4RtHb)B*vl75EMlqkm-%TD0%+gBfr-6jG`x#7yHC^#0o zJ{`LrRj8(&B8SJkWkz4t5bd4WbqQ(T!R&7M;6)89os08v9wjR~QH5ocWWF*ir(~nQ zhxav5u@VKifRctmqN>FT6XoVqR+TSuCF+>diGI}MLgsBqA(+(osA-%_6&rH|P8Cfm zn*TvZwTc!yR`DVOe)?a8R?;%V<}6~(WzJK~nkW0`PGfXqH7=%|f;G5A+SC6a>y@2f zJ#QB*{xMi{<|bjwnJ3A7NeU%dAj#<@N!VSsJ<$CY>V?m5CCl>pGs&`jejAz7=T{4p z3AlWIZN6^@j!PnE#4J<}Y7wD=jnLT&C&5oA{F#J)GQrO#_*2>9A~dnIW)7}}ty@J) zKQ*<4*lG^gJy~!X)@lw#!XgM<${}V@PH<^c2*X4u_b5M&&@%;%)dchZLQkL<*e9Kx zax!cVpFtkav(YwXH}lg)IXvcj^n9Z$XVwu`LkF9hhamKMm=;lQSH)GwDc=mKW zJM(ZKUAlZ)DI}Fg!^vozP|+}BXW-Zas7Z%fEMJ+Nw*1+-y>hoL%q1N<@hiD}l|SQm T{K5g;$+LVnchTl<7})Y3Uu`k} delta 1334 zcmZ{k>2p(66u^HkOKsMXC@t zT)_Q`TLm{;Bi!v*z=pZw&%pyP7xOQvOTd^7LdbI&{XceXok@}&Kh`GbE? z9RN<}7Z;cIFiA3sRW5$oLv+}6b%<<;POEk)*0{`Otrgu?th1uWie4-FTym^;g>rp} z8|=D4(eIL=J;IF)Sg}!YlglOsMYM3U%PnlSVv7ajBizbuirW=;xKwhdWo)&^yN;DS z?~8Ch4_NV_%R@YDIgcoe;?a@c;y$%Q@t7PofB5#rqJ7zo>D;<(Z?3N?)1NWJ{>qSA zUoe=%{zg+4I5|?w3byat^ zqhIqhJ2kr)(mZ3uvplDH-fAx}q}Z)_k(V?t^NKkpILH4gubKMb3C%k+d)TXaoi`k! zy}8xdo(-uL*)?lBda{arnqfvXZ!)SF(~L7=H<*Tf*7A;K zK4)w8^R77*oRvHfXDU|0dvV^^e87i_k2D|iiRM#2Q+%%Zf`ghbnHt?$GUyL|#n-mE z-;9>KF(>k^<`6$>uHjlUFVf)rWO9+;13x=dnSUa4%qBfIpOhQoP$RF;woJwm7QL2~ z$U50Ii`^%yo1DZ+){NsDk)4lvkx{ula2x@Sms1H&mEEj@H>b(DNWilxr9m1dlJGhRBsY9?BGI$D}}oF#sa?V?cY zOd`5V{KulLdF$UP`Bc!x0v1Z{)wHlkw17lh%sHY3T4#u(rNE|j<}63bRluv{dTi>t*Xt@?|YVyQ6yq;rX)HB8#8 zf0=k+Dw)|D_r&TY=U-#xUe1M%R!rAe!DTELKZg}uZvEx_B6;mBoSESinz__#W<}xS zG{TVvScDwl3Tc>6)+@QH2x}0#9l0}-_cS}|0&Uq5BX<5nvkY%Y;y=SU3bFiu5Ler| z#a(+Nl&@;|y; O_I5h=h|j%jWBb3i#m(^m diff --git a/target/classes/models/Vehicle.class b/target/classes/models/Vehicle.class index c4b8a0b67339069898f15b66a521f18d01fa2be6..e304721e6ec9f25d01427ed80c1d766c2637de5a 100644 GIT binary patch literal 2614 zcmaKu`%@EF6vw}t$8HSa(eRR1D^-CIf}x77Esv^zf(>d#)6(~nY;iH{GD)y@I{kn8 zBb{k*MrZm5^pEQFd+uFei5q@7_uRYZp7S}68~FFXH~#>bg`LI-me1ilRz%zrabLu$ zh&2%pEPR?*K+WUg-r|J8i=`7 z1AV0(`=wp1+1_@sjwHmHfvtf*>>u5 zkgWJMpI_rIUC)3y?|N=?k=xv4nKzf{!9Z`x^_++MyIW5Esl8QG@%)NiE8BHf_Q7GI z`P^*?rHb1qmYwHrrRFe*mkY&K)K#2>>w09B`$RBQ(~-DalENIF?h=HQEm)PV{I`M_IzX@ zbmDqRcT8Lds>#!`>L1UPl4|-I$bi9q&6X_FS!OyIR?KuDvj1 zLMX?$yTR4qn#{k3@s~0ir%clw(2oQLFhMP&jgZ46cj6#VDGvUmrNwnz9OS23h~*0{ z#PicFB=RGP7Cnz7TQKt@W((FygvH&Db(;42IgZwJXmf_#kYQ6TYlkOD!bJAlZj zNCj?0f+X5OW+Fjmqd^kwAhQIy*#SfvCm=WR38hpwT#;lu$gN0_PjM@_e5y6cc9403 zEOY>oxe<`hA}eCHgWQe;`8>KJW;@6-K~_3|$k+cR0gVI}MxarRJ9HKYR=X8j^?0Z^|bLpEnL^j*6 z4-#Cm16ogt;h@${IUmxx#ij2LUOL3^0V4xl{Qc?T`<5r#qu%)wo@}5S&yLx<`R8I0 ZUnu*X;K|*lJ)boH-Mho{yWGXF^gnDd&5Qs5 literal 2626 zcmaKsZBr9h6vzLYhutMC4-HRZt)dkOAsDsT+Cr#`Sg=8@Xj=NbNw&BcvP=@Jold_` zU(%TdXX;G*z8|X7|GB%s5;nX!_uRYZp7T2ocmMtGufGAzqmsgTtn^?U4@7(>VpYVN zh=(FRH&9H$#EOV@1CIyft4OyR=cy6L(;!6`>nb?%GuMK=-;9Ctb zx2j>VxNX0(^EJD^l`nertpyE<9s8xDAsza%(Q3HrTXM&%IyKt-;@AxhLm`{Bddt~z z8g!7Xcr}k-{xu)WI6}wil8?Nkw z!$j+a+Z0L_x0x?FFWgGaVUT(z6kCyp_5tsiCx^Ue8U>C7Jh|nx)>yH0W+rqcs9Cb< ze;hhRC07kzT~|dNK5_Y|tOl?91|wkyq3EW#@M~|1v9F5bP1T8!6OIpaV`v)t7NcR$ zhXz6?u9y9eiR(bsd0JBaM-Y5Lu$j@YgC*Eu8e^dwD_9LrG=}Q zwD2x2Sa=T?EnE^Yfy)-Ii1t1%YM71YsM;;N?AELK$K`FO!t(C!It>fo;d>1?qpzHW zu3_x>rTBHYx98TX4hOwAVE)yu7A*XLA4S-#Y;Ho{Qej&5Wq&V?E3hxQ33)=)Xr$f? zRXsPsCqqR`Sy;ji4gDwQo-g4T!q1BX`E$c($Ec za~*&tQ$jh#-3MGXuF32hXn!cPY04Dc0YgY&7#V7oZ-g0Sxf2Jol;YrbS{huZ#6fnp zjaW9xaQQ@Q zlAR!n1Sxa@k+~6&Pa-R#cY@rB1X+l#h~5cupCBt;KxAwMWHA!N=mc4f1Sv#=gx;S& ztVM#XcL9-CBOv^-Qc7$72?pPL3v=@gda?&d?HAv|;-)X%e}I83pVI*b)9?6toXgBc7SvH3=j13C)CSFF7LEoJ@%(O*+3tj fA0^O-GCsu}W$y*=?k?^5u8Ril@qC%P81DZMRvypS From a9ebe8fc4616cfb0878faa1921b91b3e05e79f9d Mon Sep 17 00:00:00 2001 From: MannyMb Date: Fri, 6 Aug 2021 00:05:17 -0400 Subject: [PATCH 6/6] working on tests yikes --- src/main/java/daos/Repo.java | 1 + src/main/java/daos/VehicleRepository.java | 2 +- src/main/java/{ => main}/MainApplication.java | 65 ++++++++---------- src/main/java/main/SQLConnector.java | 31 +++++++++ src/test/java/daos/RepoTest.java | 19 ++++- target/classes/MainApplication.class | Bin 5395 -> 0 bytes target/classes/daos/VehicleRepository.class | Bin 4663 -> 4671 bytes target/classes/main/MainApplication.class | Bin 0 -> 4391 bytes target/classes/main/SQLConnector.class | Bin 0 -> 1689 bytes target/test-classes/daos/RepoTest.class | Bin 0 -> 1758 bytes 10 files changed, 81 insertions(+), 37 deletions(-) rename src/main/java/{ => main}/MainApplication.java (75%) create mode 100644 src/main/java/main/SQLConnector.java delete mode 100644 target/classes/MainApplication.class create mode 100644 target/classes/main/MainApplication.class create mode 100644 target/classes/main/SQLConnector.class create mode 100644 target/test-classes/daos/RepoTest.class diff --git a/src/main/java/daos/Repo.java b/src/main/java/daos/Repo.java index f1238f0..ee9d0c2 100644 --- a/src/main/java/daos/Repo.java +++ b/src/main/java/daos/Repo.java @@ -40,4 +40,5 @@ default ResultSet executeQuery(String sqlQuery) { } Connection getConnection(); + } diff --git a/src/main/java/daos/VehicleRepository.java b/src/main/java/daos/VehicleRepository.java index d9e30cc..f0674eb 100644 --- a/src/main/java/daos/VehicleRepository.java +++ b/src/main/java/daos/VehicleRepository.java @@ -64,7 +64,7 @@ public List readAll() { return list; } - public Vehicle read(Long vehicleId) { + public Vehicle findById(Long vehicleId) { return readAll() .stream() .filter(pokemon -> pokemon.getId().equals(vehicleId)) diff --git a/src/main/java/MainApplication.java b/src/main/java/main/MainApplication.java similarity index 75% rename from src/main/java/MainApplication.java rename to src/main/java/main/MainApplication.java index 9c2deb3..289b559 100644 --- a/src/main/java/MainApplication.java +++ b/src/main/java/main/MainApplication.java @@ -1,13 +1,9 @@ +package main; import com.mysql.cj.jdbc.Driver; import daos.VehicleRepository; import models.Vehicle; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; +import java.sql.*; import java.util.StringJoiner; /** @@ -18,8 +14,8 @@ public class MainApplication { public static void main(String[] args) { - registerJDBCDriver(); - Connection mysqlDbConnection = getConnection("mysql"); + SQLConnector.registerJDBCDriver(); + Connection mysqlDbConnection = SQLConnector.getConnection("mysql"); VehicleRepository vehicleRepository = new VehicleRepository(mysqlDbConnection); executeStatement(mysqlDbConnection, "DROP DATABASE IF EXISTS model;"); executeStatement(mysqlDbConnection, "CREATE DATABASE IF NOT EXISTS model;"); @@ -43,7 +39,6 @@ public static void main(String[] args) { System.out.println(vehicleRepository.readAll()); - } static ResultSet executeQuery(Connection connection, String sqlQuery) { @@ -90,30 +85,30 @@ static Statement getScrollableStatement(Connection connection) { throw new Error(e); } } - - static Connection getConnection(String dbVendor) { - String username = "Manny"; - 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); - } - } - - static void registerJDBCDriver() { - // Attempt to register JDBC Driver - try { - DriverManager.registerDriver(Driver.class.newInstance()); - } catch (InstantiationException | IllegalAccessException | SQLException e1) { - throw new RuntimeException(e1); - } - } - } + +// static Connection getConnection(String dbVendor) { +// String username = "Manny"; +// 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); +// } +// } +// +// static void registerJDBCDriver() { +// // Attempt to register JDBC Driver +// try { +// DriverManager.registerDriver(Driver.class.newInstance()); +// } catch (InstantiationException | IllegalAccessException | SQLException e1) { +// throw new RuntimeException(e1); +// } +// } +// } diff --git a/src/main/java/main/SQLConnector.java b/src/main/java/main/SQLConnector.java new file mode 100644 index 0000000..db0a09e --- /dev/null +++ b/src/main/java/main/SQLConnector.java @@ -0,0 +1,31 @@ +package main; + +import com.mysql.cj.jdbc.Driver; +import java.sql.*; + +public class SQLConnector { + public static Connection getConnection(String dbVendor) { + String username = "Manny"; + 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); + } + } + + static void registerJDBCDriver() { + // Attempt to register JDBC Driver + try { + DriverManager.registerDriver(Driver.class.newInstance()); + } catch (InstantiationException | IllegalAccessException | SQLException e1) { + throw new RuntimeException(e1); + } + } +} diff --git a/src/test/java/daos/RepoTest.java b/src/test/java/daos/RepoTest.java index 5c0f14f..0cdb228 100644 --- a/src/test/java/daos/RepoTest.java +++ b/src/test/java/daos/RepoTest.java @@ -1,11 +1,28 @@ package daos; +import models.Vehicle; +import org.junit.Assert; import org.junit.Test; +import java.sql.Connection; + public class RepoTest { @Test public void testCreate() { - + // Given + Vehicle car = new Vehicle(7L, "Tesla", "Model X", 2021, "Matte Black", "1FTFW1EF9DKE31717"); + String expected = car.toString(); + + // When + Connection connection = main.SQLConnector.getConnection("mysql"); + VehicleRepository vehicleRepository = new VehicleRepository(connection); + vehicleRepository.create(car); + Vehicle car1 = vehicleRepository.findById(7L); + String actual = car1.toString(); + + // Then + Assert.assertEquals(expected, actual); + vehicleRepository.delete(7L); } @Test diff --git a/target/classes/MainApplication.class b/target/classes/MainApplication.class deleted file mode 100644 index 2a36ee0aa2eaeca0b7f7bde47d5446a4d6f1f555..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5395 zcma)A349dg75{(9CNtS=2s?x%5X2QxLqZ5kE(C(+#K0y%HXPAfoot4%FuN0GXMxze zwTIT$N?TidX-|6>Z5x8LYVX$C+QZh?+FN^C?S0r*`~PP4m;m}~AalI$eeZkk|NifN z-{iih@46d6yEs3Ht8q&ZSK)0c-Y)O&Q1H$m%J41~x61e1RJ>codlbAkh)Ud|;(hY| zeia{3al48Ss`!wK53Bfy6n|8~$Ab7cKB3~ciaUb16Q5M^DHWd%q878#?ujxkEPqN= z%&9o3;w}}Z^1@OTpHcBy6?dz+Coc@BxL3vJRD3=!DO2$U6<<{GB^6)J3(Hk}Ma5TD ze60fa;p=j-`-AufzA3|apc3E0w-tOx!FPk`!Go39j_=9K_Z2*(;s-$t;D;(6mSOxz zzC5Dh$0~lJ;-_-z&lLQ;62HJNRXnQVF%`d3@oN>o3F5c-or2#7@i_jV;0gKuq=G*x z_>+P^2XQ4HRPYxCe-$X-luRd`%>t#3t9A`!I{!m(jJneLgMHj@e6Nm}WRG?b!9ptkXf*a7{p-fHUUsn)n-C(~0K z-Gy{}ic=SzWtaw2GnqqX|3sgaP8$hnQDCuWhw|2=}Xj z*raY{T6dp5LiLbw)JS9Ofw}lg?BoX z$lA7%PRuCy8&T$hMJEMT<<^-;;o>4iRVG`VoY-xoCoP+g*^FVQ^%U1qr}a$ch-FW* z%(Awr;O{Ib+n7pb9K+t)-`m%3Cl4E(Q({C5Om~+nQboZ(1cGrZYbT7sq%6sr)2eQb zEVK}GOoZ@8ObC>@WfZ~?I-f|0%G%e{}nfNPo{*Pj63rATl%<8Q41%AB#s) z><8w?5U#~51y=Tr4)lx-%+nj$J~m&MUhbj^Zz36adinQeljfuh_JW)>t{HQeJl)iq zgl;#6@Gm?iup&7bA<-jx*0HWirW3YXbP=*YrQ0)+gT~Bic9WET(1Ejx5m?|_E;Jei{|(`3JVWHijEu<= zQ-&pck-Z98ji-eWs2tWE$B6WrEMzvX=-}Akp6I~f#r@j`+M-?2F6Kj&ghZ(b(8^^j zPg)7|jkd5Z%Hv7XWl1>N*VZ%A*%9mP*t@o^b6xv74vtwfmaOWsK0PHnTVRW2l5gSm zv1so=+q!LS9lO@Hb+vU#-JV3kC8OG#wWqS_NvelCcJ1A>_u{^e&VjZ4ZJnK+9n>31 zW->Z^Z+VaD5NB!B)}?ZEOSETOv|}*ZMVH$<)~_#w8Yjg^4Y_c1uz%ZNTi2Ggy9aus zZEex@iYN<-a-oETDk>Ba42en+3gOjwjUuW-m=+7jeU~k=$;W+tlHIGwq5<2sYzb3! zNGufLkkG^;(%V(YI!VrScbTmgw=lAd>rl6bWj$&gAtmIV7U_z z;x$5!v4zFm*60^ikIB{;AxGFir2$bdmavQq4i{P=n@C736%EYAu%1p6FZG(_bb?G+ zOVNSJiNpqav!S&$x~^-@TK(CeDdu4)opI<^(%tb3eQLgnY0^EDbTcv; zpUTprmC-CsqzvC+^=WO5*(j=SpE$q+0V}-#d$Ik_Q}jrXSDfEV3Ba>#9kR;w>1lRw zftF`)`@WqZ*Ue<>cdY!PHI2DV$frn+1;sdGR(gsxb67XC#`b-5vvI3`iX7&IaB;#= z+A*dipKBY3{F*sAmD7HIT?1!sug@vTn|e+q-x02yO_;os&d26ALidE{%UXPf8(oT> z!OAjsxszPdYTY5vF0^RqDF&eMKG|cMEUG+yZav4iO>)>v`TSX&W)#5=^Mxz)Hw=gWCAlIIk+^+;dlB`LRn zK!bnTzWur#Hx6Za@bJtnJKL-x!AkW>(sJFioACTUqX$Z8b4Rk%P|62R@2kCJ`XH)r z9Lfjb_G8~!%4@d8=D;?myW|}9JD0Qmf6=K3eX*YDx3BH@nLI;r|4bW4yv~!5N1!}W z+~nkv&O*zdt@7upnw(!nmzh7D$4{`U-OoN1LY|v=P4K;ycfosE(+P+>_)vmLUdvsf z27}KbPXYTd#kUIVN0Jgw7I*Tkl=u2MlxU@M2*ggIY`pmd%7>dZWe#eyR^eWQ@_GuD z<0lZ(s%Ei3tCp9A@)DL8Ox*UI5_ zT3c9oL=LxW9rK1e<#4^WKCC<{hcDJPc*A#M%g}~%u%41`oQqyWu!TvBVFkaC&&McrcHsipxDYqtA{<8}9>6L*fhJLf zW>LpP%3MXfeBb~M%3O(Rm`E{OnkYva7PG5j8i&06;U&~&{!rI6ht0#Qn@{4B5*!~s zg`V-%C(wHj)nxjsa4FR!Ei?ppZR3Z1JEa|1fKGSWCd$ib+D3*;EMSNZvV5Xx9Hs;E zrw&JOlon_BOnMC~xP~)cfERksh#jsC;I`6DO()SOa0{+)3Y-1|sVxqIIb zAjYRKFs==rz?M9(E+caqW-&ze%wlU^x{Xq%LvqR|jZxBahIE*cC4qvN8N61A+n>qY zjw&*{M>4zjo;zGrj^WJ(R5qiUF>T`CExNG?o0+OhnAA(r$3Jt7GnE#fUWI;KN7)V3 zJBG_Rdk{A>#kXR}MQ}4QSww7JM2t#k;SgTTr&8M4&omt+HYIoiUW%7-^_z3}%Iw^R zm*W+@OH>yi@E??jr*LC0!L1;={F3p|<+@&~8w#l&DZw5FR?M~+SQQo)0$WO_fMKR~ zgz4VNk?ja$2RS=>mb8a`X>TZ`y@8?U)2^UoN6s^zgma!9qi2#;4dK$qH-$@|>~3mU zb`m>EaePE#-jXAt%GJXK&uZxtSP=p2W|(_9GEQ<{UhqoG`6Ah!_a#6IUgrX+66)*u zRN}%GhIobsN)^0Tuo-&1%j_Jc`w0E0EW&rN$X`)msx_TL1GXe^Z75?XgEu*W9B77f;ow~NhygcP_YyhgUOA|s++l3bol^p@e%%OY$yD$qX diff --git a/target/classes/main/MainApplication.class b/target/classes/main/MainApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..1dbcd564e4d55fe3207a17a6d8f9ad9a5da1cac4 GIT binary patch literal 4391 zcmaJ^33LM{dFvtch0d~?h9pu3lj5TI7GPqmP zHcgu}Z4z2&(=BwRdx5q##BJ!lq-p8Cr0Je?O_T0Dr>Cds{iAJ+O?;03%)Iyh`|sU% z|NCE${O_TM0c^y-J?O{n9=sB-Qt)c=yhFxoJSfMV3SR5MKDtRgSX-B3f`gMogUQUUBd5!dO3u~#*Ab_vy*0O3%v7VbnNHfKH6fusI;5HDmIGI7XztZd=!uN2@5|`Ia$Dn^Zs&-(XxFc&Glm`0 zZMvJ6wl!NH)l;^FnxaW8FQth@2MFw$XJ%1N=(T3mIP1C%vcG%J1NLta}~AM2{wBXLtMrcFTRbq zgmQGnqkdSdaIf0Ucg*y6=Fj!Re> z?vI4xkr{SznWQnKTM|~~ym8H_v*gvT)+IEn(Tnfn2NG5! zhx{azU(49$t;tlva>(r`%SJV8!hcksSi@aAsvXt+wtm9)r%e8541>}dCzM&@stH}Q z9G`i+glU-8EW3r{$<$2YYU1%j{76ET?t_6y_olAhkzk-b&@SrnGcSIQU(m}=ZUcHL3-_-j|0-fh zV_X2|3xtEAzP8qATkF93VB3a`8>oz%6Qmt@{TK4r~gywnf%=1>4%%T4~ppOs6&WxQdWr6KCPn z(u8qfMp<`=a3ix+>z-{`zsv><=B;ZVm`5p!CQ zTT~qvEyz!fuu(Y<{*Hg}5Gn**Xf@odUi=gP63m<95Tf^DGJ6gk;Xy*?7Tgru5HWP- z6N#MAWIn2;4=2;MZtd#o40l;chY^+RMed2Kb1i7b=~nDNMN^&w_19=uf^pi|n4V%W z*IwJ7Yl+;>rccE-vsEAljk(6>GNeUS5re3i8YX|nH6x?%IZP}Xce$qsH7EFr6M9m% zJ}hcm+t}l_%*kn-a>wg9nBCH!Q<8V}oJOu|Lj@ZW4_py^bY@dzU;**#kT9**>2`(EY3z}8;V$F6e+iWga-Gr z;StS>>BllW?6U5b&NZt@uu^S^wA^rQ7uon{^#cKI?iz3vO8LYYeRZ~&E{N(Id-6#* zy{T}1V>xfY{m!ks0umcdoa26ex9}7}S>Abj<;{Zot1XST5M{m{u0~qAjJlu?1 zDB)!30>4W6tiOm7we%v&qSGiJY@R|zZ?h_2gwm|eb4HICr!jwU3SPBx5>;xo7#4`Z zCk9mv3&l{wVG@ftVa+sZ2RXA&tydTOp;iQ1qpox*jKSmr2eaJ^73S6BGtD?)vP zx^jkkl~CWPHu~hpgnG5gEM2pkv$NOw3Su!jums!C zfKDvM4qS&QE%xAgmadM7FNcK{xF0v*9A{m@Dm;znNtL)!szZ}gD}S~gcmZB0Y9&?U zMYxsKQl$#K7#gdq@Bm9>>xbKD&HACP=_0oGu4%r6n@Vu5cN(F=HB;!k>=fRMN<5!t zf)*;uIIiRGsuoJulOO?S*(S=%>3Rq{m#AWjhcV1Iy2c0t5Px+@;s`w+^D!YWP67)8eJI}tR3g@}Gj2KTNGN^V>VMm@_}XP-@JhB3aC($5Irj}V&@+{f~#x%%lGzG91>fsG8G0@W&%{TC(De{gRn!JS8R zc^l56%XPD*ZYY$xuLK8~Sh3pK#453%kk}Fi1?*&Ldsyx$HM_{+-Q;NR9A)>p%HB{Y zdjn1s$}Xd1Z!R+4rgD*;WMqO>4ZhN+w)#q++1Avs^b+=#;#{A=d~J@13Rm|PBCBOg zfS}AirWvCqPIB%qL?w2aprBxPK9(|4@TCrb3ZZ@(-%1?Ve2|_MTT{l%B{oCBO9`*w I#1h>0f7cISRsaA1 literal 0 HcmV?d00001 diff --git a/target/classes/main/SQLConnector.class b/target/classes/main/SQLConnector.class new file mode 100644 index 0000000000000000000000000000000000000000..7a7346c7f1a6f775c9a89f1840aacdf5577e3603 GIT binary patch literal 1689 zcmZ`(+g95~6y0MR%NT=$xx|o5lU^v07~zzb7DCcsNSnkaO>Ag+l;w#Ll_gh}L&y*H zwRwT8vR2dQ{6PPv?H=DGO2b7nXU>^@_C9lF-v9mk9{^VHQxaL+N#KhFRy2H>L`+#< zsc|)duM_x2P1llG$6XB@8tx@Aiu)SAP2vGIH58OkHkb)-SdmgmSN7#>;_^$lI?> z+4KoSZ=zP+lTOX`6s-%G^tW5mbBqQ-5>2DkI&!@l1-3n#tjfM&{#-Je9SIs9vtoqt zWZi1{(tEtMS=jQdmy*~KnHQJ}B?vfZcp{K2yKT>u4=q)n@v!BZDTfYgRdX$cB1)vXrtA4Tt4quL&Fccy`_#4TSPEss_u6uf zwjx|`8%^6X9KT{U4Z;!?GXsr_B_{9QlATCO}C*pj#a#Qs4FRYx0V{pDO9lA->D+H zo)q@*qri;-@R8HVGk;PKE$>u$$ns(vegQO%mygW+k|MykaPS(j|yB0Hax8! zvT@HXb$gWU9Ylrj;zqN{CKSkhxUWO4-aBH|y}sK=o}BMpfKVVKraK9PBC&&vx@wQo z|D+1_XYW#7T=~#7%ZBkP2cCPRF88{62tr3(uz80BMjUz6Jsgw$ex7=_dZa$qzexQ{ zG}%iLs3AOV;xgYf^%I3q_k`aov~-SwhK6D^$~wttGDO#B4eBL6c9^%>^p1j(J;t=n%g^4nVM45Rxqu~Uq_ zBh05*#4V}Sw64VFviqr?ilBe407}+dMl)mW9-NHgpV@G zFyb?gQF`V$Ca5xhH2_Qt-f=}whq8KXp8p@^$Yetl5gH09>7#9fM( QhRBWveVAF7X-1I$7yTfZ^Z)<= literal 0 HcmV?d00001 diff --git a/target/test-classes/daos/RepoTest.class b/target/test-classes/daos/RepoTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f38e221f92224bc3bf712779a4eb85832536fda2 GIT binary patch literal 1758 zcmah}Yg5}s6g_KfOA+E>LkMouhNNk*fkbg$G(gjuhZ}-{@Q4%Is_ntlH-n;tyzd!#1@BnW#jNq<Jk;#aKq+K+t>;`%V|p# z({&sQuv~}Xaunfzu#JUNHw6_AB0PDzZw0P*$S@iaicd;*C_GDKswA76L6_SMrOmDr zSRK){e2awD9LEi~Jdtz_He9c5>~*O?Ml7sX3aeXAt7cPjDD%aBE0h@;i^3LCv$o}S zJyX;zS-ZZI%G{A6bzH$HL;u-wD0r%48P6DUbd=2*lvP=;u~!OK)Z90)usC5#g(P|)#>WAL|)aghIK;e98#$iJlC;-O@@)MMW0nfrflih#tR)y zyj1W?#}0ng@f%(f@iTp;f+S5^-`%6mkc`CDaGf^MKHzp&tiNR#DnF~F+A6nYzmkMy zClGBxvoTU$PDjRm3U+=Ws$O8SW6Osmwrlq^E#!6j8+xrZJ2~(zimyHi+13k|2pcjmX8sucC%)7$X7K zF-QL!Bx0Pt)!*SJdI)C<-{Tgtgj6E`7}aTo@XHjJM}^R2NhavYFnL;l$