Last active
November 27, 2017 14:27
-
-
Save masztalski/5e15d5089a4a407f9aa0451b18ee803b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class BaseSQLImpl<T, I> implements BaseRepository<T, I> { | |
protected Dao<T,I> mDao; | |
@Override | |
public List<T> findAll() { | |
try { | |
return mDao.queryForAll(); | |
} catch (SQLException e) { | |
e.printStackTrace(); | |
} | |
return Collections.emptyList(); | |
} | |
@Override | |
public T findById(I id) { | |
try { | |
return id != null ? mDao.queryForId(id) : null; | |
} catch (SQLException e) { | |
e.printStackTrace(); | |
} | |
return null; | |
} | |
@Override | |
public boolean create(T r) { | |
try { | |
return mDao.create(r) > 0; | |
} catch (SQLException e) { | |
e.printStackTrace(); | |
} | |
return false; | |
} | |
@Override | |
public boolean update(T r) { | |
try { | |
return mDao.update(r) > 0; | |
} catch (SQLException e) { | |
e.printStackTrace(); | |
} | |
return false; | |
} | |
@Override | |
public boolean delete(T r) { | |
try { | |
return mDao.delete(r) > 0; | |
} catch (SQLException e) { | |
e.printStackTrace(); | |
} | |
return false; | |
} | |
@Override | |
public long count() { | |
try { | |
return mDao.countOf(); | |
} catch (SQLException e) { | |
e.printStackTrace(); | |
} | |
return 0; | |
} | |
@Override | |
public void bathCreate(List<T> objectList) { | |
try { | |
mDao.callBatchTasks(() -> { | |
for (T object : objectList){ | |
mDao.create(object); | |
} | |
return null; | |
}); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
} | |
@Override | |
public void bathUpdate(List<T> objectList) { | |
try { | |
mDao.callBatchTasks(() -> { | |
for (T object : objectList){ | |
mDao.update(object); | |
} | |
return null; | |
}); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
} | |
@Override | |
public void bathDelete(List<T> objectList) { | |
try { | |
mDao.callBatchTasks(() -> { | |
for (T object : objectList){ | |
mDao.delete(object); | |
} | |
return null; | |
}); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
} | |
@Override | |
public boolean deleteAll() { | |
try { | |
if (count() != 0) { | |
TableUtils.dropTable(mDao, false); | |
TableUtils.createTable(mDao); | |
} | |
return true; | |
} catch (SQLException e) { | |
e.printStackTrace(); | |
} | |
return false; | |
} | |
@Override | |
public boolean isEmpty() { | |
try{ | |
return mDao.queryForAll().size() == 0; | |
}catch (SQLException e) { | |
e.printStackTrace(); | |
} | |
return true; | |
} | |
@Override | |
public boolean doesTableExists() { | |
try { | |
return mDao.isTableExists(); | |
} catch (SQLException e){ | |
e.printStackTrace(); | |
} | |
return false; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment