MVC - 添加DAO和Service层

表间的查找

在上一篇文章结束后,数据库中添加两张表,一张用于表明用户间的好友关系:

d54a45f9fc764c11b49d47a2cf37afb3.png

另一张用于存储各用户的登录信息:

292af9ea5d7e4f4fa976575a91756e5f.png

由此添加一个DAO接口及其实现类,用于将用户的登录信息以对象存储,此pojo的属性如下:

private Integer id;
private String loginId;
private String nickName;
private String pwd;
private UserDetail userDetail;  //此用户细节信息
private List<UserLogin> friendList;   //此用户的好友列表

需要注意的是,UserDetail、friendList这两个属性是不能从数据库中读取到的,所以BaseDAO的执行并不会填充这些属性,它们的作用在于登陆成功后,通过DAO或Service手动获取对应Detail和List,然后使用setter方法将这些属性填充,最后将整个对象存入Session中保存

UserLogin的DAO中有四个方法,分别是:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DAOService、Controller 是 Java Web 应用程序中常用的三个次的组件。其中 DAO 主要负责数据库操作,Service 主要负责业务逻辑处理,Controller 主要负责接收请求和返回响应。下面是它们的详细介绍和使用教程。 ## DAO(Data Access Object) DAO 是 Data Access Object 的缩写,直译为数据访问对象。DAO 主要负责与数据库进行直接交互,它提供了一些基本的数据库操作方法(如增删改查),并且将这些方法封装成接口。这样,在 Service 中就可以通过调用这些接口来进行数据库操作,而不需要关心具体的数据库实现。 使用 DAO 的好处是可以将数据库操作与业务逻辑分离,提高了代码的复用性和可维护性。 下面是一个简单的 DAO 接口的示例: ```java public interface UserDao { User getUserById(int id); void addUser(User user); void updateUser(User user); void deleteUser(int id); } ``` 上面的代码定义了一个 UserDao 接口,包含了查询用户、添加用户、修改用户和删除用户等四个基本操作。 ## Service Service 是业务逻辑,负责处理业务逻辑。Service 调用 DAO 提供的接口来进行数据库操作,而后将处理后的数据返回给 Controller 。 使用 Service 的好处是可以将业务逻辑处理与数据库操作分离,提高了代码的可维护性和可测试性。 下面是一个简单的 Service 接口的示例: ```java public interface UserService { User getUserById(int id); void addUser(User user); void updateUser(User user); void deleteUser(int id); } ``` 上面的代码定义了一个 UserService 接口,包含了查询用户、添加用户、修改用户和删除用户等四个基本操作。该接口与 UserDao 接口的方法相同,但是 UserService 主要负责处理业务逻辑。 ## Controller Controller 是控制,负责接收请求和返回响应。Controller 调用 Service 提供的接口来处理业务逻辑,而后将处理后的结果返回给客户端。 使用 Controller 的好处是可以将请求和响应分离,提高了代码的可维护性和可测试性。 下面是一个简单的 Controller 类的示例: ```java @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/{id}", method = RequestMethod.GET) public String getUserById(@PathVariable("id") int id, Model model) { User user = userService.getUserById(id); model.addAttribute("user", user); return "user"; } @RequestMapping(value = "/add", method = RequestMethod.POST) public String addUser(User user) { userService.addUser(user); return "redirect:/user/" + user.getId(); } @RequestMapping(value = "/{id}", method = RequestMethod.PUT) public String updateUser(User user) { userService.updateUser(user); return "redirect:/user/" + user.getId(); } @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) public String deleteUser(@PathVariable("id") int id) { userService.deleteUser(id); return "redirect:/user"; } } ``` 上面的代码定义了一个 UserController 类,包含了查询用户、添加用户、修改用户和删除用户等四个基本操作。它使用了 Spring MVC 框架来处理请求和响应。其中,@Controller 注解标注该类是控制,@RequestMapping 注解用于映射请求路径,@Autowired 注解用于注入 UserService 接口的实现。 以上是 DAOService、Controller 的简单介绍和使用教程。在实际开发中,我们可以按照这样的次来组织代码,提高代码的可维护性和可测试性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值