【JavaWeb】DAO层讲述

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);
    
}
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaWeb中,DAO(Data Access Object)通常用于实现对数据库的访问和操作。下面是一个简单的DAO代码示例: 1. 创建一个接口类,定义对数据库的操作方法。 ```java public interface UserDao { User getUserById(int id); // 根据用户ID获取用户信息 void addUser(User user); // 添加用户 void updateUser(User user); // 更新用户信息 void deleteUser(int id); // 删除用户 } ``` 2. 创建一个实现类,实现接口中定义的方法。 ```java public class UserDaoImpl implements UserDao { @Override public User getUserById(int id) { // 执行SQL查询操作,返回查询结果 // 例如:SELECT * FROM user WHERE id = ? } @Override public void addUser(User user) { // 执行SQL插入操作,将用户信息插入数据库 // 例如:INSERT INTO user(id, name, age) VALUES(?, ?, ?) } @Override public void updateUser(User user) { // 执行SQL更新操作,更新用户信息 // 例如:UPDATE user SET name = ?, age = ? WHERE id = ? } @Override public void deleteUser(int id) { // 执行SQL删除操作,根据ID删除用户信息 // 例如:DELETE FROM user WHERE id = ? } } ``` 3. 在DAO中使用JDBC连接数据库。 ```java public class UserDaoImpl implements UserDao { // JDBC连接对象 private Connection conn; public UserDaoImpl() { // 数据库连接信息 String url = "jdbc:mysql://localhost:3306/mydb"; String username = "root"; String password = "123456"; try { // 加载JDBC驱动 Class.forName("com.mysql.jdbc.Driver"); // 获取数据库连接 conn = DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } // 省略其他方法实现 } ``` 以上是一个简单的DAO代码示例,根据实际需求可以进行适当的修改和完善。需要注意的是,DAO应该与业务逻辑分离,避免出现混乱和耦合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值