spingmvc中service和controller和dao层的书写例子
时间: 2023-05-08 15:58:35 浏览: 120
在Spring MVC框架中,MVC的三层架构分别对应Service、Controller和Dao层。他们分别负责业务逻辑处理、用户请求响应和数据持久化。
Service层是业务逻辑处理层,通常包含各种业务逻辑处理方法,如用户登录验证、用户信息修改等。以下是一个例子:
@Service
public class UserService {
@Autowired
private UserDao userDao;
public boolean login(String username, String password) {
User user = userDao.findByUsername(username);
if(user != null && user.getPassword().equals(password)) {
return true;
}
return false;
}
public void updateUser(User user) {
userDao.update(user);
}
}
Controller层负责用户请求响应,接收前端请求,处理业务逻辑后返回结果给前端。以下是一个例子:
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/login")
public String login(String username, String password, Model model) {
boolean isLogin = userService.login(username, password);
if(isLogin) {
model.addAttribute("username", username);
return "index";
} else {
return "login";
}
}
@RequestMapping("/updateUser")
public String updateUser(User user, Model model) {
userService.updateUser(user);
model.addAttribute("msg", "修改成功");
return "success";
}
}
Dao层负责数据持久化,与数据库进行交互,进行增删改查等操作。以下是一个例子:
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public User findByUsername(String username) {
String sql = "select * from user where username = ?";
List<User> userList = jdbcTemplate.query(sql, new Object[]{username}, new UserRowMapper());
if(userList.isEmpty()) {
return null;
} else {
return userList.get(0);
}
}
public void update(User user) {
String sql = "update user set password = ?, nickname = ? where username = ?";
jdbcTemplate.update(sql, user.getPassword(), user.getNickname(), user.getUsername());
}
}
以上是一个简单的例子,展示了Spring MVC框架中Service、Controller和Dao层的具体书写方法。在实际开发中,需要深入了解每一层的作用和具体实现。
阅读全文