2023.1.13日学习内容(封装相同类与方法)

文章介绍了如何通过创建BaseDao和BaseService接口来实现后台管理系统中对象的增删改查操作的代码复用。NewsDao和NewsService分别继承这些接口,减少了重复代码。此外,还展示了过滤器方法和数据库信息获取方法的封装,提高了代码的简洁性和可维护性。
摘要由CSDN通过智能技术生成

后台管理系统每个对象要做一次增删改查,当对象比较多的时候有很多重复代码,接下来就将可以提取的代码封装到类或者方法中

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;
    }

封装后代码简洁许多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值