Skip to content

Instantly share code, notes, and snippets.

@masztalski
Last active November 27, 2017 14:27
Show Gist options
  • Save masztalski/5e15d5089a4a407f9aa0451b18ee803b to your computer and use it in GitHub Desktop.
Save masztalski/5e15d5089a4a407f9aa0451b18ee803b to your computer and use it in GitHub Desktop.
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