在ORM开发中,针对不同的类型,一般需要编写不同的DAO类来处理与数据库的数据传递。

    一般包括:添加(add)、修改(update)、根据条件查询符合数(getCount)、根据条件查询符合列表(getPage)、获得某一条数据(get)、删除(delete);

    当然还包括其他一些根据具体业务场景需要提供的额外接口。

    比如:学生(User)、教室(Cla***oom)、教师(Teacher),建立Dao,就有想对应的IUserDao、ICla***oomDao、ITeacherDao

    每一个Dao接口中又需要有“增删改查”操作,这时可以使用泛型来来处理,从而减少代码量,

    定义一个IBaseDao的接口,如下:

public interface IBaseDao<T> {
    int add(T t);
    int update (T t);
    int getCount(@Param("searchName")String search);
    List<T> getPage(@Param("searchName")String search,@Param("start")int start,@Param("num")int num);
    T getById(@Param("id")int id);
    List<T> getAll();
    int delete(@Param("id")int id);
}


编写IUserDao、ICla***oomDao、ITeacherDao 集成 IBaseDao;

注:Mybatis xml 文件中  

 <mapper namespace="com.bs.dao.IUserDao" > namespace的值要求全局唯一,所以需要创建接口



public interface IUserDao extends IBaseDao<User>()


public interface ITeacherDao extends IBaseDao<Teacher>()



public interface ICla***oomDao extends IBaseDao<Cla***oom>()