{"title": "Maven 项目数据库增删改查示例:DAO、Entity、Service 和 Controller 层实现", "description": "本教程详细讲解了使用 Maven 创建 Java 项目,并实现数据库增删改查操作的步骤。涵盖了 DAO、Entity、Service 和 Controller 层的设计与代码示例,并附带注释,帮助您快速入门。", "keywords": "Maven, 数据库, 增删改查, DAO, Entity, Service, Controller, Java, 示例代码, 教程", "content": "首先,根据问题描述,我们需要创建以下几个包:\n\n1. entity 包:用于存放实体类。\n2. dao 包:用于存放数据访问层接口。\n3. service 包:用于存放服务层接口。\n4. service.impl 包:用于存放服务层接口的实现类。\n5. controller 包:用于存放控制器类。\n\n接下来,我们来详细描述每个包的功能和代码实现:\n\n1. entity 包:\n\njava\npackage com.example.entity;\n\npublic class User {\n private Integer id;\n private String stuName;\n private Integer stuAge;\n private String stuSex;\n\n // 构造方法\n public User() {\n }\n\n public User(Integer id, String stuName, Integer stuAge, String stuSex) {\n this.id = id;\n this.stuName = stuName;\n this.stuAge = stuAge;\n this.stuSex = stuSex;\n }\n\n // getter 和 setter 方法\n public Integer getId() {\n return id;\n }\n\n public void setId(Integer id) {\n this.id = id;\n }\n\n public String getStuName() {\n return stuName;\n }\n\n public void setStuName(String stuName) {\n this.stuName = stuName;\n }\n\n public Integer getStuAge() {\n return stuAge;\n }\n\n public void setStuAge(Integer stuAge) {\n this.stuAge = stuAge;\n }\n\n public String getStuSex() {\n return stuSex;\n }\n\n public void setStuSex(String stuSex) {\n this.stuSex = stuSex;\n }\n}\n\n\n2. dao 包:\n\njava\npackage com.example.dao;\n\nimport com.example.entity.User;\n\nimport java.util.List;\n\npublic interface UserDao {\n User getUserById(Integer id); // 根据 id 查询用户\n\n List<User> getAllUsers(); // 获取所有用户\n\n void addUser(User user); // 添加用户\n\n void updateUser(User user); // 更新用户信息\n\n void deleteUser(Integer id); // 删除用户\n}\n\n\n3. service 包:\n\njava\npackage com.example.service;\n\nimport com.example.entity.User;\n\nimport java.util.List;\n\npublic interface UserService {\n User getUserById(Integer id); // 根据 id 查询用户\n\n List<User> getAllUsers(); // 获取所有用户\n\n void addUser(User user); // 添加用户\n\n void updateUser(User user); // 更新用户信息\n\n void deleteUser(Integer id); // 删除用户\n}\n\n\n4. service.impl 包:\n\njava\npackage com.example.service.impl;\n\nimport com.example.dao.UserDao;\nimport com.example.entity.User;\nimport com.example.service.UserService;\n\nimport java.util.List;\n\npublic class UserServiceImpl implements UserService {\n private UserDao userDao;\n\n // 构造方法注入 UserDao\n public UserServiceImpl(UserDao userDao) {\n this.userDao = userDao;\n }\n\n @Override\n public User getUserById(Integer id) {\n return userDao.getUserById(id);\n }\n\n @Override\n public List<User> getAllUsers() {\n return userDao.getAllUsers();\n }\n\n @Override\n public void addUser(User user) {\n userDao.addUser(user);\n }\n\n @Override\n public void updateUser(User user) {\n userDao.updateUser(user);\n }\n\n @Override\n public void deleteUser(Integer id) {\n userDao.deleteUser(id);\n }\n}\n\n\n5. controller 包:\n\njava\npackage com.example.controller;\n\nimport com.example.entity.User;\nimport com.example.service.UserService;\n\nimport javax.servlet.ServletException;\nimport javax.servlet.http.HttpServlet;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\nimport java.io.IOException;\nimport java.util.List;\n\npublic class UserController extends HttpServlet {\n private UserService userService;\n\n // 构造方法注入 UserService\n public UserController(UserService userService) {\n this.userService = userService;\n }\n\n @Override\n protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {\n // 处理 GET 请求\n\n // 获取所有用户\n List<User> userList = userService.getAllUsers();\n\n // 将用户列表存入 request 中,供 JSP 页面使用\n req.setAttribute("userList", userList);\n\n // 跳转到 user.jsp\n req.getRequestDispatcher("/user.jsp").forward(req, resp);\n }\n\n @Override\n protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {\n // 处理 POST 请求\n\n // 获取表单数据\n Integer id = Integer.parseInt(req.getParameter("id"));\n String stuName = req.getParameter("stuName");\n Integer stuAge = Integer.parseInt(req.getParameter("stuAge"));\n String stuSex = req.getParameter("stuSex");\n\n // 创建 User 对象\n User user = new User(id, stuName, stuAge, stuSex);\n\n // 添加用户\n userService.addUser(user);\n\n // 重定向到用户列表页面\n resp.sendRedirect(req.getContextPath() + "/user");\n }\n}\n\n\n以上是根据问题描述所给的要求,实现了 dao、entity、service 和 controller 层的功能。请注意,以上代码仅仅是示例代码,具体的实现可能因为数据库类型和框架的不同而有所差异,需要根据具体情况进行调整和完善。


原文地址: https://www.cveoy.top/t/topic/p420 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录