SSM框架实现用户和管理员共用一张表登陆
在SSM中,可以使用一个User实体类来表示用户和管理员,并在数据库中创建一个表来存储用户和管理员的信息。可以在User实体类中添加一个字段来区分用户和管理员的角色。\n\n首先,创建一个User实体类,包含用户的基本信息和角色字段:\n\njava\npublic class User {\n private int id;\n private String username;\n private String password;\n private String role; // 用户角色,可以是"user"或"admin"\n \n // Getters and Setters\n // ...\n}\n\n\n然后,在数据库中创建一个表来存储用户和管理员的信息,可以使用以下SQL语句:\n\nsql\nCREATE TABLE `user` (\n `id` int(11) NOT NULL AUTO_INCREMENT,\n `username` varchar(50) NOT NULL,\n `password` varchar(50) NOT NULL,\n `role` varchar(10) NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\n\n接下来,在DAO层中创建一个UserMapper接口,并添加两个方法用于用户和管理员的登陆:\n\njava\npublic interface UserMapper {\n User getUserByUsernameAndPassword(User user);\n}\n\n\n在UserMapper.xml中实现getUserByUsernameAndPassword方法:\n\nxml\n<select id="getUserByUsernameAndPassword" resultType="User">\n SELECT * FROM user WHERE username = #{username} AND password = #{password} AND role = #{role}\n</select>\n\n\n最后,在Service层中调用UserMapper接口的getUserByUsernameAndPassword方法进行登陆判断:\n\njava\n@Service\npublic class UserService {\n @Autowired\n private UserMapper userMapper;\n \n public User login(String username, String password, String role) {\n User user = new User();\n user.setUsername(username);\n user.setPassword(password);\n user.setRole(role);\n return userMapper.getUserByUsernameAndPassword(user);\n }\n}\n\n\n这样,可以根据不同的角色进行用户和管理员的登陆判断。在Controller层中可以根据返回的User对象进行相应的操作。
原文地址: https://www.cveoy.top/t/topic/qqMB 著作权归作者所有。请勿转载和采集!