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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 让容器管理更轻松!