后台管理系统每个对象要做一次增删改查,当对象比较多的时候有很多重复代码,接下来就将可以提取的代码封装到类或者方法中
1,BaseDao接口
public interface BaseDao <T>{
int add(T t);
int delete(T t);
int update(T t);
T findById(T t);
List<T> findAll(T t);
int count(T t);
}
使用BaseDao接口,后面对象的Dao层直接继承此接口,如新闻对象的增删改查
public interface NewsDao extends BaseDao<News>{
@Override
int add(News news);
@Override
int delete(News news);
@Override
int update(News news);
@Override
News findById(News news);
@Override
List<News> findAll(News news);
}
2 BaseService接口
public interface BaseService<T> {
ResultDTO add(T t);
ResultDTO delete(T t);
ResultDTO update(T t);
ResultDTO findById(T t);
ResultDTO findAll(T t);
ResultDTO count(T t);
}
新闻继承其接口
public interface NewsService extends BaseService<NewsVO> {
@Override
ResultDTO add(NewsVO newsVO);
@Override
ResultDTO delete(NewsVO newsVO);
@Override
ResultDTO update(NewsVO newsVO);
@Override
ResultDTO findById(NewsVO newsVO);
@Override
ResultDTO findAll(NewsVO newsVO);
}
3 过滤器筛选的方法
public String getSql(IndexChange indexChange) {
String sql = "";
if (!"".equals(indexChange.getName())) {
sql += " and name like '%" + indexChange.getName() + "%'";
}
if (indexChange.getEnable() != -1) {
sql += " and enable like '%" + indexChange.getEnable() + "%'";
}
return sql;
}
4 获取数据库信息的方法
public List<IndexChange> getData(String sql) {
ResultSet query = JDBC.query(sql);
List<IndexChange> list = new ArrayList<>();
try {
while (query.next()) {
IndexChange indexChange = new IndexChange();
indexChange.setEnable(query.getInt("enable"));
indexChange.setName(query.getString("name"));
indexChange.setRemark(query.getString("remark"));
indexChange.setCreateTime(query.getString("create_time"));
list.add(indexChange);
}
} catch (Exception e) {
}
return list;
}
封装后代码简洁许多