1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
public List<Items> getItemsBymultiple(String name, List<String> type, List<Integer> authors, List<Integer> tags, List<Integer> artists, List<Integer> personnages) {
try {
List<Items> items = new ArrayList<>();
String sql = "SELECT i.idItem, i.nameItem, i.typeItem, i.nbChapitres, i.link, i.date "
+ "FROM items i "
+ "LEFT JOIN li_ItemTag it ON i.idItem = it.idItem "
+ "LEFT JOIN tags t ON t.idTag = it.idTag "
+ "LEFT JOIN li_ItemArtist lis ON i.idItem = lis.idItem "
+ "LEFT JOIN artists s ON s.idArtist = lis.idArtist "
+ "LEFT JOIN li_ItemAuthor ia ON i.idItem = ia.idItem "
+ "LEFT JOIN Authors a ON a.idAuthor = ia.idAuthor "
+ "LEFT JOIN li_ItemPersonnage ip ON i.idItem = ip.idItem "
+ "LEFT JOIN personnages p ON p.idPersonnage = ip.idPersonnage ";
// faire whereTruc ici :
String where = setWhere(name, type, authors, tags, artists, personnages);
sql = sql + where + "GROUP BY i.idItem";
System.out.println(sql);
sttm = conn.prepareStatement(sql);
// faire setParam ici :
setParams(name, type, authors, tags, artists, personnages);
result = sttm.executeQuery();
while(result.next()){
Items item = new Items(result.getInt("idItem"),
result.getString("nameItem"),
result.getString("typeItem"),
result.getInt("nbChapitres"),
result.getString("link"),
result.getTimestamp("date"));
item.setAuthors(getAuthorsByItem(item));
item.setTags(getTagsByItem(item));
item.setArtists(getArtistsByItem(item));
item.setPersonnages(getPersonnagesByItem(item));
items.add(item);
}
return items;
} catch (SQLException ex) {
Logger.getLogger(DataImpl.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
} |
Partager