Skip to content

Commit 61f1901

Browse files
author
BarbDev
committed
un petit pas pour...
1 parent 449d280 commit 61f1901

File tree

11 files changed

+254
-2
lines changed

11 files changed

+254
-2
lines changed

src/main/java/bdd/BaseDeDonnee.java

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,13 @@ public void createTables() {
3838

3939
try {
4040
Statement statement = bdd.createStatement();
41+
statement.execute("DROP TABLE IF EXISTS films, utilisateurs;");
4142
statement.execute("CREATE TABLE IF NOT EXISTS films (" +
4243
"id INT AUTO_INCREMENT (0, 1) PRIMARY KEY," +
4344
"titre VARCHAR(255) NOT NULL UNIQUE," +
44-
"duree TINYINT NOT NULL," +
45+
"duree SMALLINT NOT NULL," +
4546
"note DECIMAL NOT NULL," +
47+
"prix DECIMAL NOT NULL," +
4648
"date_sortie DATE NOT NULL," +
4749
"genres VARCHAR(15) NOT NULL," +
4850
"synopsis VARCHAR(1500) NOT NULL," +
@@ -81,7 +83,36 @@ public void ajouter(Utilisateur user) {
8183
}
8284

8385
public void ajouter(Film film) {
86+
try {
87+
PreparedStatement pst = bdd.prepareStatement("INSERT INTO films (" +
88+
"titre," +
89+
"duree," +
90+
"note," +
91+
"prix," +
92+
"date_sortie," +
93+
"genres," +
94+
"synopsis," +
95+
"acteurs" +
96+
") values (?,?,?,?,?,?,?,?);");
97+
pst.setString(1, film.getTitre());
98+
pst.setInt(2, film.getDuree());
99+
pst.setBigDecimal(3, BigDecimal.valueOf(film.getNote()));
100+
pst.setBigDecimal(4, BigDecimal.valueOf(film.getPrix()));
101+
pst.setDate(5, film.getDateSortie());
102+
pst.setString(6, film.getGenre());
103+
pst.setString(7, film.getSynopsis());
84104

105+
StringBuilder st = new StringBuilder();
106+
for (String s : film.getActeurs()) {
107+
st.append(s);
108+
st.append(";");
109+
}
110+
pst.setString(8, st.toString());
111+
pst.executeUpdate();
112+
pst.close();
113+
} catch (SQLException e) {
114+
e.printStackTrace();
115+
}
85116
}
86117

87118
public void modifier(Utilisateur user) {
@@ -114,6 +145,8 @@ public void modifier(Film film) {
114145
st.append(";");
115146
}
116147
pst.setString(8, st.toString());
148+
pst.executeUpdate();
149+
pst.close();
117150
} catch (SQLException e) {
118151
e.printStackTrace();
119152
}
@@ -144,6 +177,7 @@ public ArrayList<Film> getBDD() {
144177
set.getString("acteurs").split(";"));
145178
films.add(film);
146179
}
180+
set.close();
147181
} catch (SQLException e) {
148182
e.printStackTrace();
149183
}
@@ -152,5 +186,11 @@ public ArrayList<Film> getBDD() {
152186

153187
static public void main(String[] args) {
154188
BaseDeDonnee baseDeDonnee = new BaseDeDonnee();
189+
baseDeDonnee.ajouter(new Film(1, "Mr Bean", 160, 7.8f, 20, new Date(Date.valueOf("1994-6-10").getTime()),
190+
"drole", "Mr bean par en vacs :D", new String[]{"Le magnifique", "lul"}));
191+
192+
193+
for (Film f : baseDeDonnee.getBDD())
194+
System.out.println(f);
155195
}
156196
}

src/main/java/bdd/Film.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package bdd;
22

33
import java.sql.Date;
4+
import java.util.Arrays;
45

56
public class Film {
67
private final int id;
@@ -99,6 +100,16 @@ public boolean equals(Object obj) {
99100

100101
@Override
101102
public String toString() {
102-
return titre;
103+
return "Film{" +
104+
"id=" + id +
105+
", titre='" + titre + '\'' +
106+
", duree=" + duree +
107+
", note=" + note +
108+
", prix=" + prix +
109+
", dateSortie=" + dateSortie +
110+
", genre='" + genre + '\'' +
111+
", synopsis='" + synopsis + '\'' +
112+
", acteurs=" + Arrays.toString(acteurs) +
113+
'}';
103114
}
104115
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package core.Criteres;
2+
3+
import bdd.Film;
4+
5+
public class CritereActeur extends Critere {
6+
private String[] acteurFilm;
7+
8+
public CritereActeur(String ... acteurs) {
9+
acteurFilm = acteurs;
10+
}
11+
12+
@Override //la le equals on le fait sur chaque cases ? Comment on le g�re ?
13+
public int evaluate(Film film) {
14+
// Faudrait boucler sur chaque liste, et dès que l'on a un match on ajoute au score
15+
// Faut 2 boucles
16+
if (acteurFilm.equals(film.getActeurs())) return 100;
17+
return 0;
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package core.Criteres;
2+
3+
import bdd.Film;
4+
5+
import java.sql.Date;
6+
7+
public class CritereDate extends Critere {
8+
private Date dateFilm;
9+
10+
public CritereDate(Date date) {
11+
dateFilm = date;
12+
}
13+
14+
@Override
15+
public int evaluate(Film film) {
16+
if (dateFilm.equals(film.getDateSortie())) return 20;
17+
return 0;//-40
18+
}
19+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package core.Criteres;
2+
3+
import bdd.Film;
4+
5+
public class CritereDuree extends Critere {
6+
private int dureeFilm;
7+
8+
public CritereDuree(int duree) {
9+
dureeFilm = duree;
10+
}
11+
12+
@Override //fait on un intervalle de duree
13+
public int evaluate(Film film) {
14+
if (film.getDuree() == dureeFilm) return 20;
15+
return 0;//-20
16+
}
17+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package core.Criteres;
2+
3+
import bdd.Film;
4+
5+
public class CritereGenre extends Critere {
6+
private String genreFilm; //fait on String [] genreFilm
7+
// Pour l'instant on reste que sur un genre par film, si on fini dans les temps on passe a plus
8+
9+
public CritereGenre(String genre) {
10+
genreFilm = genre;
11+
}
12+
13+
@Override
14+
public int evaluate(Film film) {
15+
if (genreFilm.equals(film.getGenre())) return 60;
16+
return 0; //-50
17+
}
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package core.Criteres;
2+
3+
import bdd.Film;
4+
5+
public class CritereLangue extends Critere {
6+
7+
private String langueFilm;
8+
9+
public CritereLangue(String langue) {
10+
langueFilm = langue;
11+
}
12+
13+
@Override
14+
public int evaluate(Film film) {
15+
//if (langueFilm.equals(film.getLangue())) return 40;
16+
return 0; //-70
17+
}
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package core.Criteres;
2+
3+
import bdd.Film;
4+
5+
public class CritereNote extends Critere {
6+
private int noteFilm;
7+
8+
public CritereNote(int note) {
9+
noteFilm = note;
10+
}
11+
12+
@Override //est ce qu'on mettrait pas les films avec des notes >= ?
13+
public int evaluate(Film film) {
14+
if (film.getNote() == noteFilm) return 30;
15+
return 0;//-30
16+
}
17+
18+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package core.Criteres;
2+
3+
import bdd.Film;
4+
public class CriterePrix extends Critere {
5+
private int prixFilm;
6+
7+
public CriterePrix(int prix) {
8+
prixFilm = prix;
9+
}
10+
11+
@Override
12+
public int evaluate(Film film) {
13+
if (film.getPrix() == prixFilm) return 50;
14+
return 0;//-30
15+
}
16+
17+
}

test.mv.db

4 KB
Binary file not shown.

0 commit comments

Comments
 (0)