Spring整合Mybatis使用注册的用户名和密码进行登录,登录成功展示用户名、密码、角色名(用户和角色一对一)
时间: 2023-09-07 08:13:30 浏览: 77
Spring和Mybatis的整合
首先,需要在Spring中配置MyBatis的相关信息,包括数据源、SqlSessionFactory和MapperScannerConfigurer等。具体可以参考Spring官方文档或者其他相关资料。
其次,需要创建用户表和角色表,并建立一对一的关联关系。具体表结构可以根据实际需求进行设计。
然后,需要在MyBatis的Mapper文件中编写SQL语句,实现用户和角色的查询功能。例如:
```xml
<!-- 根据用户名和密码查询用户信息 -->
<select id="getUserByUsernameAndPassword" parameterType="map" resultType="User">
SELECT u.*, r.role_name
FROM user u
INNER JOIN user_role ur ON u.id = ur.user_id
INNER JOIN role r ON ur.role_id = r.id
WHERE u.username = #{username}
AND u.password = #{password}
</select>
```
最后,在Spring中编写Controller和View层的代码,完成登录页面和展示页面的开发。例如:
```java
@Controller
public class LoginController {
@Autowired
private UserService userService;
@RequestMapping("/login")
public String login(@RequestParam("username") String username,
@RequestParam("password") String password,
Model model) {
User user = userService.getUserByUsernameAndPassword(username, password);
if (user != null) {
model.addAttribute("user", user);
return "show";
} else {
return "login";
}
}
}
// show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>Show User Info</title>
</head>
<body>
<h1>User Info:</h1>
<p>Username: ${user.username}</p>
<p>Password: ${user.password}</p>
<p>Role Name: ${user.roleName}</p>
</body>
</html>
```
需要注意的是,以上代码只是示例,并不一定完全符合实际需求,具体还需要根据实际情况进行调整。
阅读全文