Dao是存数据操作方法的 类的 一个简称。
dao = DataBase Access Object
:数据库访问对象缩写,代存存储某个表存储数据操作(CURD)的方法。
但由于我们数据库里面一个项目中表格太多太多了,我们不能把所有的CURD操作全放到一个DAO里面,因此DAO也是需要根据表格来建立的,一般来说:表名 + Dao。
DAO层一般需要定义接口和实现类:假设我要向数据库中增加一个日程记录,需要写一个方法用来添加日程记录
public class SysScheduleDao {
public int addSchedule(SysSchedule schedule) {
return 1;
}
}
如果不定义接口,那么张三、例子在定义这个方法名的时候可能就会冲突,并且设计的形参也不一样,那也就是说不同的人在实现DAO层中增删改查方法的时候,访问修饰符、返回的类型、方法名、参数列表有可能都是不一致的,不一致造成的麻烦就是,对于DAO层方法的调用者来说就比较麻烦了。
总之,对于调用者来说,调用者只关注这个方法能干什么事,它不关注这个方法到底是怎么实现的(你可以用JDBC、或者MyBatis等),也就是说只让调用者关注这个类里面一定会有的方法和一定会有的功能就可以了,无需再关注实现类,因此应该在DAO层实现接口,然后在接口里面定义应该有哪些增删改查的方法。
并且最好在接口上添加文档说明,让别人知道你这个接口是干什么的。文档写的规不规范严重影响着作为一个程序员在领导心里面的评价。
在Java中文档注释一般是有一些格式要求的,建议大家读一下阿里的开发手册。
/**
* 介绍一下前类 ....
* 作者: ....
* 时间: ....
*/
public interface SysScheduleDao {
/**
* 用于向数据中增加一条日程记录
* @param schedule 日程数据以SysSchedule实体类对象形式入参
* @return 返回影响数据库记录的行数,行数为0说明增加失败,行数大于0说明增加成功
*/
int addSchedule(SysSchedule schedule);
}