SSM6.2【Spring:练习-角色列表展示和角色添加操作】

角色和用户关系分析

 

 

 角色列表展示功能

 

 

 

角色添加功能

 

 

 

 代码实现

 

复制代码
 1 package com.haifei.domain;
 2 
 3 public class Role {
 4 
 5     private Long id;
 6     private String roleName;
 7     private String roleDesc;
 8 
 9     @Override
10     public String toString() {
11         return "Role{" +
12                 "id=" + id +
13                 ", roleName='" + roleName + '\'' +
14                 ", roleDesc='" + roleDesc + '\'' +
15                 '}';
16     }
17 
18     public Long getId() {
19         return id;
20     }
21 
22     public void setId(Long id) {
23         this.id = id;
24     }
25 
26     public String getRoleName() {
27         return roleName;
28     }
29 
30     public void setRoleName(String roleName) {
31         this.roleName = roleName;
32     }
33 
34     public String getRoleDesc() {
35         return roleDesc;
36     }
37 
38     public void setRoleDesc(String roleDesc) {
39         this.roleDesc = roleDesc;
40     }
41 }
复制代码
复制代码
 1 package com.haifei.controller;
 2 
 3 import com.haifei.domain.Role;
 4 import com.haifei.service.RoleService;
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.stereotype.Controller;
 7 import org.springframework.web.bind.annotation.RequestMapping;
 8 import org.springframework.web.servlet.ModelAndView;
 9 
10 import java.util.List;
11 
12 /**
13  * RoleController使用注解@Controller产生(实例化)bean;在spring-mvc.xml中配置组件扫描,扫描Controller层
14  * RoleService
15  *      使用注解@Autowired实现依赖注入,可以省略set,但仍须在applicationContext.xml中配置bean
16  * RoleDao & JdbcTemplate
17  *     使用set实现bean的依赖注入,需要在applicationContext.xml中配置bean
18  */
19 @RequestMapping("/role")
20 @Controller
21 public class RoleController {
22 
23     @Autowired
24     private RoleService roleService;
25     /*public void setRoleService(RoleService roleService) {
26         this.roleService = roleService;
27     }*/
28 
29     @RequestMapping("/list")
30     public ModelAndView list(){
31         ModelAndView modelAndView = new ModelAndView();
32         List<Role> roleList = roleService.list();
33 //        System.out.println(roleList);
34         //设置模型
35         modelAndView.addObject("roleList", roleList);
36         //设置视图
37         modelAndView.setViewName("role-list"); // webapp/pages/role-list.jsp
38         return modelAndView;
39     }
40 
41     @RequestMapping("/save")
42     public String save(Role role){
43         roleService.save(role);
44         return "redirect:/role/list"; //添加完成后,自动跳转到展示页面(重定向至查询方法)
45     }
46 
47 }
复制代码
复制代码
 1 package com.haifei.service;
 2 
 3 import com.haifei.domain.Role;
 4 
 5 import java.util.List;
 6 
 7 public interface RoleService {
 8 
 9     List<Role> list();
10 
11     void save(Role role);
12 }
复制代码
复制代码
 1 package com.haifei.service.impl;
 2 
 3 import com.haifei.dao.RoleDao;
 4 import com.haifei.domain.Role;
 5 import com.haifei.service.RoleService;
 6 
 7 import java.util.List;
 8 
 9 public class RoleServiceImpl implements RoleService {
10 
11     private RoleDao roleDao;
12     public void setRoleDao(RoleDao roleDao) {
13         this.roleDao = roleDao;
14     }
15 
16     @Override
17     public List<Role> list() {
18         return roleDao.findAll();
19     }
20 
21     @Override
22     public void save(Role role) {
23         roleDao.save(role);
24     }
25 }
复制代码
复制代码
 1 package com.haifei.dao;
 2 
 3 import com.haifei.domain.Role;
 4 
 5 import java.util.List;
 6 
 7 public interface RoleDao {
 8 
 9     List<Role> findAll();
10 
11     void save(Role role);
12 }
复制代码
复制代码
 1 package com.haifei.dao.impl;
 2 
 3 import com.haifei.dao.RoleDao;
 4 import com.haifei.domain.Role;
 5 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 6 import org.springframework.jdbc.core.JdbcTemplate;
 7 
 8 import java.util.List;
 9 
10 public class RoleDaoImpl implements RoleDao {
11 
12     private JdbcTemplate template;
13     public void setTemplate(JdbcTemplate template) {
14         this.template = template;
15     }
16 
17     @Override
18     public List<Role> findAll() {
19         String sql = "select * from sys_role;";
20         List<Role> roleList = template.query(sql, new BeanPropertyRowMapper<Role>(Role.class));
21         return roleList;
22     }
23 
24     @Override
25     public void save(Role role) {
26 //        String sql = "insert into sys_role(roleName, roleDesc) values(?,?)";
27         String sql = "insert into sys_role values(?,?,?)";
28         template.update(sql, null, role.getRoleName(), role.getRoleDesc()); //id自增
29     }
30 }
复制代码
复制代码
 1 <!--配置RoleDao-->
 2     <bean id="roleDao" class="com.haifei.dao.impl.RoleDaoImpl">
 3         <property name="template" ref="jdbcTemplate"/>
 4         <!--name值必须与RoleDaoImpl中声明的JdbcTemplate对象名一致;ref值必须与该配置文件中spring jdbcTemplate对应bean的id一致-->
 5     </bean>
 6 
 7     <!--配置RoleService-->
 8     <bean id="roleService" class="com.haifei.service.impl.RoleServiceImpl">
 9         <property name="roleDao" ref="roleDao"/>
10         <!--name值必须与RoleServiceImpl中声明的RoleDao对象名一致;ref值必须与该配置文件中-配置RoleDao对应bean的id一致-->
11     </bean>
复制代码

 

 

 

posted @   yub4by  阅读(129)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示