List of usage examples for org.apache.ibatis.session SqlSession commit
void commit();
From source file:net.k3rnel.arena.server.database.DatabaseManager.java
License:Open Source License
/** * Upgrades the database. Use sparingly. * @return// w w w .j a v a 2s . c o m */ public void onUpgrade(int version) { System.out.println("Upgrading Database..."); System.out.println("Current version: " + version); System.out.println("Latest version: " + DATABASE_VERSION + "\n"); while (version < DATABASE_VERSION) { version++; switch (version) { case 1: { onCreate(); break; } case 2: { System.out.println("Upgrading to version 2"); SqlSession session = DataConnection.openSession(); try { DatabaseMapper dMapper = session.getMapper(DatabaseMapper.class); dMapper.create_table_items(); dMapper.create_table_bag(); session.commit(); } catch (Exception e) { System.out.println("Failed to upgrade to version 2!"); System.out.println(e.getMessage()); } finally { session.close(); } setDbVersion(2); break; } } } setDbVersion(DATABASE_VERSION); }
From source file:net.landora.animeinfo.anidb.AnimeCategoryParser.java
License:Open Source License
public void parseAnimeCategory(InputStream is) { SqlSession session = null; try {/* ww w .j a va 2 s .c o m*/ session = AnimeDataManager.getInstance().openSession(); AnimeMapper mapper = session.getMapper(AnimeMapper.class); XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(is); reader.nextTag(); reader.require(XMLStreamReader.START_ELEMENT, null, "categorylist"); Map<Integer, AnimeCategory> categories = new HashMap<Integer, AnimeCategory>(); Map<Integer, Integer> parentCategories = new HashMap<Integer, Integer>(); int t1; while ((t1 = reader.nextTag()) != XMLStreamReader.END_ELEMENT) { reader.require(XMLStreamReader.START_ELEMENT, null, "category"); int categoryId = Integer.parseInt(reader.getAttributeValue(null, "id")); int parentCategoryId = Integer.parseInt(reader.getAttributeValue(null, "parentid")); AnimeCategory category = new AnimeCategory(); category.setId(categoryId); category.setHentai(Boolean.parseBoolean(reader.getAttributeValue(null, "ishentai"))); int t2; while ((t2 = reader.nextTag()) != XMLStreamReader.END_ELEMENT) { if (reader.getLocalName().equals("name")) { category.setName(XMLUtilities.nextString(reader).trim()); } else if (reader.getLocalName().equals("description")) { category.setDescription(XMLUtilities.nextString(reader).trim()); } } if (categoryId > 0) { if (mapper.updateCategory(category) == 0) { mapper.insertCategory(category); } categories.put(categoryId, category); if (parentCategoryId > 0) { parentCategories.put(categoryId, parentCategoryId); } } } reader.close(); for (Map.Entry<Integer, Integer> entry : parentCategories.entrySet()) { AnimeCategory c1 = categories.get(entry.getKey()); c1.setParentCategory(categories.get(entry.getValue())); mapper.updateCategory(c1); } session.commit(); } catch (Exception e) { session.rollback(); log.error("Error saving anime categories.", e); } finally { if (session != null) { session.close(); } } }
From source file:net.landora.animeinfo.anidb.AnimeTitleParser.java
License:Open Source License
public void parseAnimeTitle(InputStream is) { SqlSession session = null; try {//from w w w.j a va 2 s .c o m session = AnimeDataManager.getInstance().openSession(); AnimeNameLookupMapper mapper = session.getMapper(AnimeNameLookupMapper.class); mapper.deleteAnimeNames(); XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(is); reader.nextTag(); reader.require(XMLStreamReader.START_ELEMENT, null, "animetitles"); int t1; while ((t1 = reader.nextTag()) != XMLStreamReader.END_ELEMENT) { reader.require(XMLStreamReader.START_ELEMENT, null, "anime"); int animeId = Integer.parseInt(reader.getAttributeValue(null, "aid")); AnimeNameLookupSummary anime = new AnimeNameLookupSummary(); anime.setAnimeId(animeId); List<AnimeNameLookup> newNames = new ArrayList<AnimeNameLookup>(); int t2; while ((t2 = reader.nextTag()) != XMLStreamReader.END_ELEMENT) { reader.require(XMLStreamReader.START_ELEMENT, null, "title"); AnimeNameLookup name = new AnimeNameLookup(); for (int i = 0; i < reader.getAttributeCount(); i++) { String aname = reader.getAttributeLocalName(i); if (aname.equals("type")) { name.setType(reader.getAttributeValue(i)); } else if (aname.equals("lang")) { name.setLanguage(reader.getAttributeValue(i)); } } name.setName(XMLUtilities.nextString(reader)); name.setAnime(anime); newNames.add(name); } for (AnimeNameLookup name : newNames) { if (name.getType().equalsIgnoreCase("main")) { anime.setNameMain(name.getName()); } else if (name.getType().equalsIgnoreCase("official") && name.getLanguage().equalsIgnoreCase("en")) { anime.setNameEnglish(name.getName()); } } mapper.insertAnime(anime); for (AnimeNameLookup name : newNames) { mapper.insertAnimeName(name); } } reader.close(); mapper.updateExistingAnimeMainName(); mapper.deleteCoreAnimeNames(); mapper.insertExistingAnimeMainName(); session.commit(); } catch (Exception e) { session.rollback(); log.error("Error saving anime titles.", e); } finally { if (session != null) { session.close(); } } }
From source file:net.landora.animeinfo.data.AnimeDBA.java
License:Open Source License
public static void saveAnimeWithNames(Anime anime) { SqlSession session = null; try {/* ww w .j a va2s. c o m*/ session = AnimeDataManager.getInstance().openSession(); AnimeMapper mapper = session.getMapper(AnimeMapper.class); int rows = mapper.updateAnime(anime); if (rows == 0) { mapper.insertAnime(anime); } else { mapper.deleteAnimeNames(anime); mapper.deleteAnimeCategoryWeight(anime); mapper.deleteAnimeRelations(anime); } for (AnimeName name : anime.getNames()) { mapper.insertAnimeName(name); } for (AnimeCategoryWeight category : anime.getCategories()) { mapper.insertAnimeCategoryWeight(category); } for (AnimeRelation relation : anime.getRelations()) { mapper.insertAnimeRelation(relation); } session.commit(); animeCache.put(anime.getAnimeId(), anime); } catch (Exception e) { session.rollback(); log.error("Error saving anime.", e); } finally { if (session != null) { session.close(); } } }
From source file:net.landora.animeinfo.data.AnimeDBA.java
License:Open Source License
public static void saveEpisode(AnimeEpisode episode) { SqlSession session = null; try {// w ww.java 2 s. com session = AnimeDataManager.getInstance().openSession(); AnimeMapper mapper = session.getMapper(AnimeMapper.class); int rows = mapper.updateEpisode(episode); if (rows == 0) { mapper.insertEpisode(episode); } session.commit(); } catch (Exception e) { session.rollback(); log.error("Error saving anime.", e); } finally { if (session != null) { session.close(); } } }
From source file:net.landora.animeinfo.data.AnimeDBA.java
License:Open Source License
public static void saveGroup(AnimeGroup group) { SqlSession session = null; try {/*from ww w. j a v a2 s. c om*/ session = AnimeDataManager.getInstance().openSession(); AnimeMapper mapper = session.getMapper(AnimeMapper.class); int rows = mapper.updateGroup(group); if (rows == 0) { mapper.insertGroup(group); } session.commit(); } catch (Exception e) { session.rollback(); log.error("Error saving group.", e); } finally { if (session != null) { session.close(); } } }
From source file:net.landora.animeinfo.data.AnimeDBA.java
License:Open Source License
public static void saveFile(AnimeFile file) { SqlSession session = null; try {//from w w w .j a va2 s . c o m session = AnimeDataManager.getInstance().openSession(); AnimeMapper mapper = session.getMapper(AnimeMapper.class); file.setCurrentSaveRevision(AnimeFile.SAVE_REVISION); int rows = mapper.updateFile(file); if (rows == 0) { mapper.insertFile(file); } session.commit(); addToAnimeFileCache(file); } catch (Exception e) { session.rollback(); log.error("Error saving file.", e); } finally { if (session != null) { session.close(); } } }
From source file:net.landora.animeinfo.data.AnimeDBA.java
License:Open Source License
public static void addCachedED2K(String ed2k, long size, int episodeId) { if (size == 0) { return;/*from w ww . j a v a 2s . co m*/ } SqlSession session = null; try { session = AnimeDataManager.getInstance().openSession(); AnimeMapper mapper = session.getMapper(AnimeMapper.class); mapper.addCachedED2K(ed2k, size, episodeId); session.commit(); } catch (Exception e) { session.rollback(); log.error("Error saving file.", e); } finally { if (session != null) { session.close(); } } }
From source file:net.landora.animeinfo.data.AnimeDBA.java
License:Open Source License
public static void addCachedED2KFileFailure(String ed2k, long size) { if (size == 0) { return;/*from w w w. j a v a 2 s .co m*/ } SqlSession session = null; try { session = AnimeDataManager.getInstance().openSession(); AnimeMapper mapper = session.getMapper(AnimeMapper.class); mapper.addCachedED2KFileFailure(ed2k, size); session.commit(); } catch (Exception e) { session.rollback(); log.error("Error saving file.", e); } finally { if (session != null) { session.close(); } } }
From source file:net.landora.animeinfo.data.AnimeDBA.java
License:Open Source License
public static boolean checkForCachedED2KFileFailure(String ed2k, long size) { if (size == 0) { return false; }//ww w .j a v a 2 s.c o m SqlSession session = null; try { session = AnimeDataManager.getInstance().openSession(); AnimeMapper mapper = session.getMapper(AnimeMapper.class); Calendar cal = Calendar.getInstance(); cal.add(ED2K_FILE_CACHE_AGE_UNITS, -ED2K_FILE_CACHE_AGE); mapper.clearOldCachedED2KFileFailure(Collections.singletonMap("date", cal)); int entries = mapper.findCachedED2KFileFailure(ed2k, size); session.commit(); return entries > 0; } catch (Exception e) { session.rollback(); log.error("Error checking for ed2k failure.", e); return false; } finally { if (session != null) { session.close(); } } }