SSM 面向接口开发_实际开发中这样真的可以吗?

全面抽取接口_接口开发

  1. 不废话,直接先上目录结构:(使用的框架是SSM → 刚学习)
-- src
	-- main
		--  java
			-- ling.evid
				-- dao
					-- root
						--> BaseDao.java 	(抽取出来的公共接口,里面定义了各种方法)
					--> UserDao.java 		(与实体User对应的接口)
					--> .....Dao.java 		(与其它实体对应的接口,继承于BaseDao.java)
				-- service
					-- root
						--> BaseService.java	(与Dao层相对应的,抽取出的接口)
						--> PageService.java	(将处理分页的相关方法(功能)抽取出来的接口)
						--> Transition.java		(抽象类,主要实现上面两个接口中的所有方法)
					-- impl
						--> UserService.java (UserService业务类,通过继承Transition类,获得获得能力)
				-- entity
					--> User.java 			(各种实体对象)
					--> ........
				-- servlet
				-- tool
					--> BasePage.java 	(分页模型对象)
					--> SpringContext.java (该类主要用于得到spring容器中使用的对象,只在test包中用,不是必须的)
				-- util
....... 其它什么什么之类的
	--test
		...各种测试
  1. 代码部分
    (1) dao → root → BaseDao.java

在 BaseDao 这个接口中,理论上是可以把 CRUD 都给整合起来的,
另外,我在接口中也定义了一个泛型,该泛型具体是什么,由子接口声明
十分注意此接口只是用来继承的,不管是什么情况下,谁去拿这个接口当做一般接口去使用,谁用谁报错

package ling.evidences.dao.root;

import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 泛型 T 由子接口去声明
 * @Author: LI_Lingfei
 * @CreateTime: 2020-12-26 14:24
 */
public interface BaseDao<T> {
   
    //region 查询

    /**
     * 查询所有
     */
    List<T> selectAll();

    /**
     * 根据Id查询
     */
    T selectById(T t);

    /**
     * 查询总共有多少条数据
     */
    int selectAllCount();

    /**
     * 分页查询
     */
    List<T> selectLimit(@Param("start") int start, @Param("pageSize") int pageSize);

    //endregion

    /**
     * 增加
     */
    int insert(T t);

    /**
     * 删除
     */
    int delete(T t);

    /**
     * 修改
     */
    int update(T oldS,T newS);
}

(2)dao → SchoolDao

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值