当前位置: 首页 > news >正文

网站用的空间优秀网络专题内容策划分享

网站用的空间,优秀网络专题内容策划分享,net网站开发技术方案,中国建筑公司官网SSM02 此时我们已经做好了登录模块接下来可以做一下学生管理系统的增删改查操作 首先#xff0c;我们应当有一个登录成功后的主界面 在webapp下新建 1.main.html !DOCTYPE html html langen headmeta charsetUTF-8我们应当有一个登录成功后的主界面 在webapp下新建 1.main.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/titlescript srcjs/vue.js/scriptscript srcjs/jquery.min.js/script!-- 引入样式 --link relstylesheet hrefhttps://unpkg.com/element-ui/lib/theme-chalk/index.css!-- 引入组件库 --script srchttps://unpkg.com/element-ui/lib/index.js/scriptstyle* {margin: 0;padding: 0;}.el-header {background-color: #B3C0D1;color: #333;line-height: 60px;}.el-tabs__header {margin: 0;}.el-aside {color: #333;height: 640px;}.el-main {padding: 0;}/style /head body div idappel-container styleheight: 500px; border: 1px solid #eeeel-header styletext-align: right; font-size: 12pxspan欢迎用户/spanel-dropdowni classel-icon-setting stylemargin-right: 15px/iel-dropdown-menu slotdropdownel-dropdown-item查看/el-dropdown-itemel-dropdown-item新增/el-dropdown-itemel-dropdown-item删除/el-dropdown-item/el-dropdown-menu/el-dropdownspan{{userInfo.ename}}/span/el-headerel-containerel-aside width200px stylebackground-color: rgb(238, 241, 246)el-menuel-submenu v-forp in permissionArr :indexp.idtemplate slottitlei :classp.icon/i{{p.title}}/templateel-menu-item-groupel-menu-item v-forsp in p.subMenu :indexsp.idclickaddTabs(sp){{sp.title}}/el-menu-item/el-menu-item-group/el-submenu/el-menu/el-asideel-mainel-tabs v-modeleditableTabsValue typecard closable tab-removeremoveTabel-tab-panekeyasdlabel欢迎页nameasdiframe srchttp://www.douyu.com styleborder: none;width: 99%;height: 600px;/iframe/el-tab-paneel-tab-panev-for(item, index) in editableTabs:keyitem.id:labelitem.title:nameitem.idiframe :srcitem.content styleborder: none;width: 99%;height: 600px;/iframe/el-tab-pane/el-tabs/el-main/el-container/el-container /div script$.get(/ssm/emp/getInfo, function (backData) {app.userInfo backData.data.userInfoapp.permissionArr backData.data.permissionInfo})var app new Vue({el: #app,data: {tableData: [],editableTabsValue: asd,editableTabs: [],userInfo: {},permissionArr: [],},methods: {addTabs(data) {if (this.editableTabs.indexOf(data) 0) {console.log(this.editableTabs)this.editableTabs.push(data);}this.editableTabsValue data.id;},removeTab(targetName) {let tabs this.editableTabs;let activeName this.editableTabsValue;if (activeName targetName) {tabs.forEach((tab, index) {if (tab.id targetName) {let nextTab tabs[index 1] || tabs[index - 1];if (nextTab) {activeName nextTab.id;}}});}this.editableTabsValue activeName;this.editableTabs tabs.filter(tab tab.id ! targetName);},}}) /script /body /html在这个页面中我们点击业务管理中的学生管理就可以在右侧访问学生管理的界面。其他模块可以自行添加 进入学生管理页面我们首先要在页面中展示学生信息 先在webapp下新建views/student/list.html 2.list.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/titlescript src../../js/vue.js/scriptscript src../../js/jquery.min.js/script!-- 引入样式 --link relstylesheet hrefhttps://unpkg.com/element-ui/lib/theme-chalk/index.css!-- 引入组件库 --script srchttps://unpkg.com/element-ui/lib/index.js/script /head body div idappel-input v-modelqueryInfo.name placeholder请输入名字 styledisplay: inline-block;width: 200px;/el-inputel-input v-modelqueryInfo.minAge placeholder请输入最小年龄styledisplay: inline-block;width: 200px;/el-inputel-input v-modelqueryInfo.maxAge placeholder请输入最大年龄styledisplay: inline-block;width: 200px;/el-inputel-button typeprimary iconel-icon-search clicksearchData()搜索/el-buttonel-button typeprimary上传i classel-icon-upload el-icon--right/i/el-buttonel-button typeprimary下载i classel-icon-download el-icon--right/i/el-buttonel-button typesuccess round clickopenAddStu()添加学生/el-buttonel-table:datatableDataborderstylewidth: 100%el-table-columnpropidlabel编号/el-table-columnel-table-columnpropnamelabel姓名/el-table-columnel-table-columnpropagelabel年龄/el-table-columnel-table-columnpropaddresslabel地址/el-table-columnel-table-columnlabel班级template slot-scopescope{{scope.row.grade.gname}}/template/el-table-columnel-table-columnlabel头像template slot-scopescopeimg v-bind:srcscope.row.headImg width50px//template/el-table-columnel-table-columnlabel操作template slot-scopescopeel-button clickdeleteStudent(scope.row.id) typedanger iconel-icon-delete circle/el-buttonel-button clickopenUpdateStu(scope.row.id) typeprimary iconel-icon-edit circle/el-button/template/el-table-column/el-tableel-paginationsize-changehandleSizeChangecurrent-changehandleCurrentChange:current-page1:page-sizes[5, 10, 15, 20]:page-size5layouttotal, sizes, prev, pager, next, jumper:totalt/el-paginationel-dialog :titletitlename :visible.syncdialogFormVisibleel-form :modelstuInfo :rulesrules refstuInfoel-form-item label学生姓名 propsnameel-input v-modelstuInfo.sname autocompleteoff/el-input/el-form-itemel-form-item label学生年龄 propsageel-input v-modelstuInfo.sage autocompleteoff/el-input/el-form-itemel-form-item label学生地址 propsaddressel-input v-modelstuInfo.saddress autocompleteoff/el-input/el-form-itemel-form-item label学生班级 propgidel-select placeholder请选择班级 v-modelstuInfo.gidel-option v-forg in gradeArr :labelg.gname :valueg.id/el-option/el-select/el-form-item/el-formdiv slotfooter classdialog-footerel-button clickdialogFormVisible false取 消/el-buttonel-button typeprimary clickaddStudent()确 定/el-button/div/el-dialog /divscriptvar app new Vue({el: #app,data: {titlename: ,dialogFormVisible: false,queryInfo: {},stuInfo: {},tableData: [],gradeArr: [],size: 5,t: 100,rules: {sname: [{required: true, message: 请输入姓名, trigger: blur},],sage: [{required: true, message: 请输入年龄, trigger: blur},],saddress: [{required: true, message: 请输入地址, trigger: blur},],gid: [{required: true, message: 请选择班级, trigger: blur},]}},methods: {openUpdateStu(id) {//请求班级的数据$.get(/ssm/grade/list, function (backData) {app.gradeArr backData.data$.get(/ssm/stu/get/ id, function (backData) {app.stuInfo backData.dataapp.titlename 修改学生app.dialogFormVisible true})})},addStudent() {this.$refs[stuInfo].validate((valid) {if (valid) {var path app.titlename 添加学生 ? /ssm/stu/add : /ssm/stu/update//发送ajax请求到后台$.post(path, app.stuInfo, function (backData) {if (backData.code 1) {app.$message({type: success,message: 操作成功!});window.location.reload()} else {app.$message({type: danger,message: 操作失败!});}})}});},openAddStu() {//请求班级的数据$.get(/ssm/grade/list, function (backData) {app.gradeArr backData.dataapp.stuInfo {}app.titlename 添加学生app.dialogFormVisible true})},deleteStudent(id) {this.$confirm(此操作将永久删除该文件, 是否继续?, 提示, {confirmButtonText: 确定,cancelButtonText: 取消,type: warning}).then(() {$.get(/ssm/stu/delete/ id, function (backData) {if (backData.code 1) {app.$message({type: success,message: 删除成功!});window.location.reload()} else {app.$message({type: danger,message: 删除失败!});}});});},handleSizeChange(val) {app.size valgetStudentData(1, app.size)},handleCurrentChange(val) {getStudentData(val, app.size)},searchData() {getStudentData(1, app.size)}}})function getStudentData(a, b) {app.queryInfo.pageNo a;app.queryInfo.pageCount b;$.post(/ssm/stu/query, app.queryInfo, function (backData) {app.tableData backData.data.currentDataapp.t backData.data.totalCount})}getStudentData(1, 5) /script /body /html在数据正常展示时页面效果如下 接下来进行数据的增删改查操作,此处只进行流程分析源码在文章后边 3流程分析 当我们进入到学生管理界面首先需要查询数据库中的数据并且把他显示在页面当中 我们使用的是ElementUI提供的分页查询的代码。首先要发送post请求到/ssm/stu/query获取数据 在controller文件夹下创建StudentController用来处理请求的分发其中包括有 获取全部学生数据根据ID删除学生添加学生根据ID获取单个学生更新学生信息 在StudentController接收到请求时会调用service层的方法首先有一个StudentService接口其中写了上述的五个方法在新建StudentService的实现类其中写的是业务处理的具体流程在实现类中我们想要实现业务需求我们就要去调用mapper层中的方法去连接数据库进行数据的读取mapper层又要去找对应的mapper.xml配置文件进行sql语句的编写 所以这是一个连贯的过程这里不再过多赘述 当获取到的数据响应到页面这时一个完整的业务流程才算完毕 我们在实现类中可能会遇到实体类传参所以还要新建一些实体类这些类放在pojo文件夹下 源码如下 4.controller层 4.1StudentController package com.aaa.ssm.controller;import com.aaa.ssm.pojo.vo.StudentQuery; import com.aaa.ssm.pojo.vo.StudentVO; import com.aaa.ssm.result.AjaxResult; import com.aaa.ssm.service.StudentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** Author Grg* Date 2023/9/18 17:49* PackageName:com.aaa.ssm.controller* ClassName: StudentController* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/RestController RequestMapping(stu) public class StudentController {Autowiredprivate StudentService studentService;RequestMapping(query)public AjaxResult queryStudent(StudentQuery query) {return studentService.queryStudent(query);}RequestMapping(delete/{id})public AjaxResult deleteStudent(PathVariable(id) Integer id) {return studentService.deleteStudent(id);}RequestMapping(add)public AjaxResult addStudent(StudentVO studentVO) {return studentService.addStudent(studentVO);}RequestMapping(get/{id})public AjaxResult getStudentById(PathVariable(id) Integer id) {return studentService.getStudentById(id);}RequestMapping(update)public AjaxResult updateStudent(StudentVO studentVO) {return studentService.updateStudent(studentVO);}}4.2EmpController package com.aaa.ssm.controller;import com.aaa.ssm.result.AjaxResult; import com.aaa.ssm.service.EmpService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** Author Grg* Date 2023/9/17 14:49* PackageName:com.aaa.ssm.controller* ClassName: EmpController* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ RestController RequestMapping(emp) public class EmpController {Autowiredprivate EmpService empService;RequestMapping(login)public AjaxResult login(String username, String password) {return empService.login(username, password);}RequestMapping(getInfo)public AjaxResult getInfo() {return empService.getInfo();} }4.3GradeController package com.aaa.ssm.controller; import com.aaa.ssm.result.AjaxResult; import com.aaa.ssm.service.GradeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** Author Grg* Date 2023/9/18 17:49* PackageName:com.aaa.ssm.controller* ClassName: StudentController* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/RestController RequestMapping(grade) public class GradeController {Autowiredprivate GradeService gradeService;RequestMapping(list)public AjaxResult queryStudent() {return gradeService.listAllGrade();} }5.mapper层 5.1EmpMapper package com.aaa.ssm.mapper; import com.aaa.ssm.pojo.dto.EmpDTO; import com.aaa.ssm.pojo.dto.LoginDTO; import org.apache.ibatis.annotations.Param; /*** Author Grg* Date 2023/9/17 15:02* PackageName:com.aaa.ssm.mapper* ClassName: EmpMapper* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ public interface EmpMapper {LoginDTO login(Param(username)String username,Param(password) String password);EmpDTO getEmpInfoByEid(Integer eid); }5.2GradeMapper package com.aaa.ssm.mapper; import com.aaa.ssm.pojo.dto.GradeDTO; import java.util.List; /*** Author Grg* Date 2023/9/19 15:02* PackageName:com.aaa.ssm.mapper* ClassName: GradeMapper* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ public interface GradeMapper {ListGradeDTO listAllGrades(); }5.3PermissionMapper package com.aaa.ssm.mapper; import com.aaa.ssm.pojo.dto.PermissionDTO; import java.util.List; /*** Author Grg* Date 2023/9/18 15:13* PackageName:com.aaa.ssm.mapper* ClassName: PermissionMapper* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ public interface PermissionMapper {ListPermissionDTO listSuperAdminPermissions();ListPermissionDTO listNormalAdminPermissions(Integer rid); }5.4StudentMapper package com.aaa.ssm.mapper; import com.aaa.ssm.pojo.dto.StudentDTO; import com.aaa.ssm.pojo.vo.StudentQuery; import com.aaa.ssm.pojo.vo.StudentVO; import java.util.List; /*** Author Grg* Date 2023/9/18 17:55* PackageName:com.aaa.ssm.mapper* ClassName: StudentMapper* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ public interface StudentMapper {ListStudentDTO queryStudentByQuery(StudentQuery query);Long queryStudentTotalCount(StudentQuery query);int deleteStudentById(Integer id);int addStudent(StudentVO studentVO);StudentVO getStudentById(Integer id);int uptateStudent(StudentVO studentVO); }6.pojo 6.1dto 6.1.1DeptDTO package com.aaa.ssm.pojo.dto; import lombok.Data; import java.io.Serializable; /*** Author Grg* Date 2023/9/17 15:22* PackageName:com.aaa.ssm.pojo.dto* ClassName: DeptDTO* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ Data public class DeptDTO implements Serializable {private Integer id;private String dname;private String other;private Integer state; }6.1.2EmpDTO package com.aaa.ssm.pojo.dto; import lombok.Data; import java.io.Serializable;/*** Author Grg* Date 2023/9/17 15:20* PackageName:com.aaa.ssm.pojo.dto* ClassName: EmpDTO* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ Data public class EmpDTO implements Serializable {private Integer id;private String ename;private String hiredate;private String telephone;private DeptDTO dept;private RoleDTO role; }6.2vo 6.2.1StudentVO package com.aaa.ssm.pojo.vo; import lombok.Data; import java.io.Serializable; /*** Author Grg* Date 2023/9/19 15:45* PackageName:com.aaa.ssm.pojo.vo* ClassName: StudentVO* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ Data public class StudentVO implements Serializable {private Integer id;private String sname;private Integer sage;private String saddress;private Integer gid; }当然不止这些还有好几个懒得写了实在头皮发麻这些类主要就是用来接收参数用的 这一块需要注意的是我们的数据库中其实是有外键的虽然是逻辑外键。我们在新建类中可以看到在类中有私有的成员对象我们使用这种方法来凸显外键的作用 剩下的在这里就放张截图叭 7.result 用来接收AJAX请求返回结果 AjaxResult package com.aaa.ssm.result;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;/*** Author Grg* Date 2023/8/28 15:58* PackageName:com.grg.Result* ClassName: AjaxResult* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ Data AllArgsConstructor NoArgsConstructor public class AjaxResult {private Integer code;private String msg;private Object data;public static AjaxResult success() {return new AjaxResult(1,操作成功,null);}public static AjaxResult success(Object data) {return new AjaxResult(1,操作成功,data);}public static AjaxResult error() {return new AjaxResult(2,操作失败,null);}public static AjaxResult error(String msg) {return new AjaxResult(2,msg,null);}}8.service 8.1impl实现类 8.1.1EmpServiceImpl package com.aaa.ssm.service.impl;import com.aaa.ssm.mapper.EmpMapper; import com.aaa.ssm.mapper.PermissionMapper; import com.aaa.ssm.pojo.dto.EmpDTO; import com.aaa.ssm.pojo.dto.LoginDTO; import com.aaa.ssm.pojo.dto.PermissionDTO; import com.aaa.ssm.result.AjaxResult; import com.aaa.ssm.service.EmpService; import com.aaa.ssm.sysconst.DeptState; import com.aaa.ssm.sysconst.EmpState; import com.aaa.ssm.util.PermissionUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import javax.servlet.http.HttpSession; import java.util.ArrayList; import java.util.HashMap; import java.util.List;/*** Author Grg* Date 2023/9/17 15:00* PackageName:com.aaa.ssm.service.impl* ClassName: EmpServiceImpl* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ Service public class EmpServiceImpl implements EmpService {Autowiredprivate EmpMapper empMapper;Autowiredprivate PermissionMapper permissionMapper;Autowiredprivate HttpSession session;Overridepublic AjaxResult login(String username, String password) {//1.验证账号密码是否正确LoginDTO login empMapper.login(username, password);//1.5账号的状态是什么 state 0在职 1冻结 2离职if (login null) {return AjaxResult.error(账号或者密码错误);}if (login.getState() EmpState.EMP_DONGJIE) {return AjaxResult.error(账号被冻结);}if (login.getState() EmpState.EMP_LIZHI) {return AjaxResult.error(员工已经离职 联系管理员);}//2.如果正确 获取员工编号 查询员工信息Integer eid login.getEid();EmpDTO empInfo empMapper.getEmpInfoByEid(eid);if (empInfo.getDept().getState() DeptState.DEPT_STATE_BILE) {return AjaxResult.error(部门已倒闭 请联系主管);}//登录成功//将当前用户信息存储近Session中session.setAttribute(emp, empInfo);return AjaxResult.success();}Overridepublic AjaxResult getInfo() {EmpDTO empInfo (EmpDTO) session.getAttribute(emp);HashMapObject, Object map new HashMap();map.put(userInfo, empInfo);Integer state empInfo.getRole().getState();if (state 1) {return AjaxResult.success(map);}ListPermissionDTO permissionDTOS null;Integer rid empInfo.getRole().getId();if (rid 1) {//超级管理员权限permissionDTOS permissionMapper.listSuperAdminPermissions();} else {//普通管理员permissionDTOS permissionMapper.listNormalAdminPermissions(rid);}ListPermissionDTO data PermissionUtil.handlerData(permissionDTOS);map.put(permissionInfo, data);return AjaxResult.success(map);} } 8.1.2GradeServiceImpl package com.aaa.ssm.service.impl;import com.aaa.ssm.mapper.GradeMapper; import com.aaa.ssm.pojo.dto.GradeDTO; import com.aaa.ssm.result.AjaxResult; import com.aaa.ssm.service.GradeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import java.util.List;/*** Author Grg* Date 2023/9/19 15:00* PackageName:com.aaa.ssm.service.impl* ClassName: GradeServiceImpl* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ Service public class GradeServiceImpl implements GradeService {Autowiredprivate GradeMapper gradeMapper;Overridepublic AjaxResult listAllGrade() {ListGradeDTO gradeDTOS gradeMapper.listAllGrades();return AjaxResult.success(gradeDTOS);} } 8.1.3StudentServiceImpl package com.aaa.ssm.service.impl;import com.aaa.ssm.mapper.StudentMapper; import com.aaa.ssm.pojo.dto.StudentDTO; import com.aaa.ssm.pojo.vo.StudentQuery; import com.aaa.ssm.pojo.vo.StudentVO; import com.aaa.ssm.result.AjaxResult; import com.aaa.ssm.service.StudentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import java.util.HashMap; import java.util.List;/*** Author Grg* Date 2023/9/18 17:53* PackageName:com.aaa.ssm.service.impl* ClassName: StudentImpl* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ Service public class StudentServiceImpl implements StudentService {Autowiredprivate StudentMapper studentMapper;Overridepublic AjaxResult queryStudent(StudentQuery query) {ListStudentDTO studentDTOS studentMapper.queryStudentByQuery(query);Long totalCount studentMapper.queryStudentTotalCount(query);HashMapObject, Object map new HashMap();map.put(currentData, studentDTOS);map.put(totalCount, totalCount);return AjaxResult.success(map);}Overridepublic AjaxResult deleteStudent(Integer id) {int i studentMapper.deleteStudentById(id);if (i 0) {return AjaxResult.success();} else {return AjaxResult.error(删除失败);}}Overridepublic AjaxResult addStudent(StudentVO studentVO) {System.out.println(studentVO);int i studentMapper.addStudent(studentVO);if (i 0) {return AjaxResult.success();} else {return AjaxResult.error(添加失败);}}Overridepublic AjaxResult getStudentById(Integer id) {StudentVO student studentMapper.getStudentById(id);return AjaxResult.success(student);}Overridepublic AjaxResult updateStudent(StudentVO studentVO) {int i studentMapper.uptateStudent(studentVO);if (i 0) {return AjaxResult.success();} else {return AjaxResult.error(修改失败);}} } 8.2EmpService package com.aaa.ssm.service;import com.aaa.ssm.result.AjaxResult;/*** Author Grg* Date 2023/9/17 14:58* PackageName:com.aaa.ssm.service* ClassName: EmpService* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ public interface EmpService {AjaxResult login(String username, String password);AjaxResult getInfo(); }8.3GradeService package com.aaa.ssm.service;import com.aaa.ssm.result.AjaxResult;/*** Author Grg* Date 2023/9/19 14:59* PackageName:com.aaa.ssm.service* ClassName: GradeService* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ public interface GradeService {AjaxResult listAllGrade(); } 8.4StudentService package com.aaa.ssm.service;import com.aaa.ssm.pojo.vo.StudentQuery; import com.aaa.ssm.pojo.vo.StudentVO; import com.aaa.ssm.result.AjaxResult;/*** Author Grg* Date 2023/9/18 17:52* PackageName:com.aaa.ssm.service* ClassName: StudentService* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ public interface StudentService {AjaxResult queryStudent(StudentQuery query);AjaxResult deleteStudent(Integer id);AjaxResult addStudent(StudentVO studentVO);AjaxResult getStudentById(Integer id);AjaxResult updateStudent(StudentVO studentVO); } 9.util工具类 9.1PermissionUtil 这个是在登陆时根据登录账号的权限不同 展示的数据和能进行的操作也不一样 package com.aaa.ssm.util;import com.aaa.ssm.pojo.dto.PermissionDTO;import java.util.ArrayList; import java.util.List;/*** Author Grg* Date 2023/9/18 15:58* PackageName:com.aaa.ssm.util* ClassName: PermissionUtil* Description: 又是码代码的一天* Version plus max 宇宙无敌终极版本*/ public class PermissionUtil {public static ListPermissionDTO handlerData(ListPermissionDTO permissionDTOS){ArrayListPermissionDTO data new ArrayList();for (PermissionDTO permissionDTO : permissionDTOS) {if (permissionDTO.getPid() 0) {data.add(permissionDTO);}}for (PermissionDTO permissionDTO : permissionDTOS) {Integer pid permissionDTO.getPid();for (PermissionDTO datum : data) {if (datum.getId().equals(pid)) {datum.getSubMenu().add(permissionDTO);}}}return data;} } 10.mapper.xml 10.1EmpMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.aaa.ssm.mapper.EmpMapperselect idlogin resultTypecom.aaa.ssm.pojo.dto.LoginDTOselect * from t_emp_login where username #{username} and password #{password};/selectresultMap idempInfo typeempDTOid columnid propertyid/idresult columnename propertyename/resultresult columnhiredate propertyhiredate/resultresult columntelephone propertytelephone/resultassociation propertydept javaTypedeptDTOid columndid propertyid/idresult columndname propertydname/resultresult columndstate propertystate/result/associationassociation propertyrole javaTyperoleDTOid columnrid propertyid/idresult columnrname propertyrname/resultresult columnrstate propertystate/result/association/resultMapselect idgetEmpInfoByEid resultMapempInfoSELECT e.id,e.ename,e.hiredate,e.telephone,d.id did,d.dname,d.other,d.state dstate,r.id rid,r.rname,r.state rstatefrom t_emp_info eLEFT JOIN t_dept d on e.did d.idLEFT JOIN t_role r on e.rid r.idwhere e.id #{eid};/select /mapper10.2GradeMapper ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.aaa.ssm.mapper.GradeMapperselect idlistAllGrades resultTypecom.aaa.ssm.pojo.dto.GradeDTOselect *from t_gradewhere state 0;/select /mapper10.3PermissionMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.aaa.ssm.mapper.PermissionMapperselect idlistSuperAdminPermissions resultTypecom.aaa.ssm.pojo.dto.PermissionDTOselect id, pid, type, pname title, url content, state, iconfrom t_perm/selectselect idlistNormalAdminPermissions resultTypecom.aaa.ssm.pojo.dto.PermissionDTOselect p.id, p.pid, p.type, p.pname title, p.url content, p.state, p.iconfrom t_rp tpleft join t_perm p on tp.pid p.idwhere tp.rid #{rid}and p.state 0/select /mapper10.4StudentMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.aaa.ssm.mapper.StudentMapperresultMap idStudentMap typecom.aaa.ssm.pojo.dto.StudentDTOid columnid propertyid/idresult columnname propertyname/resultresult columnage propertyage/resultresult columnaddress propertyaddress/resultresult columnheadImg propertyheadImg/resultassociation propertygrade javaTypecom.aaa.ssm.pojo.dto.GradeDTOid columntid propertyid/idresult columngname propertygname/resultresult columnstate propertystate/result/association/resultMapsql idqueryStuwhereif testname ! null and ! nameand ts.name like concat(%,#{name},%)/ifif testminAge ! null and ! minAgeand ts.age gt; #{minAge}/ifif testmaxAge ! null and ! maxAgeand ts.age lt; #{maxAge}/if/where/sqlinsert idaddStudentinsert into t_student ( name, age, address, gid) values (#{sname},#{sage},#{saddress},#{gid})/insertupdate iduptateStudentupdate t_studentSET name #{sname},age #{sage},address #{saddress},gid #{gid}where id #{id}/updatedelete iddeleteStudentByIddeletefrom t_studentwhere id #{id}/deleteselect idqueryStudentByQuery resultMapStudentMapselect ts.id,ts.name,ts.age,ts.address,ts.headImg,tg.id tid,tg.gname,tg.statefrom t_student tsleft join t_grade tgon ts.gid tg.idinclude refidqueryStu/includelimit #{index},#{pageCount}/selectselect idqueryStudentTotalCount resultTypejava.lang.Longselect count(*) from t_student tsinclude refidqueryStu/include/selectselect idgetStudentById resultTypecom.aaa.ssm.pojo.vo.StudentVOselect id, name sname, age sage, address saddress, gidfrom t_studentwhere id #{id}/select /mapper
http://www.hkea.cn/news/14300609/

相关文章:

  • 网站开发登录链接yii2 网站开发
  • 卡盟做网站网站投票页面怎么做
  • 西方设计网站住房和城市建设厅网站
  • 网站如何申请微信支付功能健康南充app
  • 网站页脚设计做视频网站收费标准
  • 品牌网站建站目的简述jsp网站开发的环境配置过程
  • 做网站大作业的心得体会h5制作软件包括
  • 北京模板网站建站新手建站广告联盟赚钱
  • 哪些网站需要备案做钓鱼网站教程视频教程
  • 中国建设银行个人信息网站建设工程合同应当采用什么形式
  • 此网站正在建设中页面企业网站建设的案例
  • 学做蛋糕的网站网站开发目录
  • 电子商务网站建设培训课件动画设计专业哪个学校比较好
  • 网站优化排名工具哪些网站上推广比较好
  • 软件下载网站如何履行安全管理义务确保提供的软件做小程序和做网站哪个好
  • 做网站还有用吗外贸网站建设流程
  • 如何建设营销型的网站wordpress 上传中文文件名
  • 上国外网站的dns移动互联网营销的目标是( )
  • 淘宝网站小视频怎么做网站开发费税率是多少钱
  • 网站建设云服务企业网站建设套餐上海
  • 济南做网站哪家好怎么选网页设计与制作课程结构
  • 企业网站开发平台免备案的网站
  • 商品数据包网站开发天津站设计单位
  • 时代汇创网站建设公司cd-wordpress
  • 淘宝竞价排名网站排名优化首页
  • 网站怎么做现场直播视频公司网站运营方案策划
  • 东莞网站建设销售公司无广告的h5制作软件
  • 太仓营销型网站建设高端网站的建设
  • 网站域名重要吗寺庙招人做网站维护吗
  • 企业网站栏目规划的重要性培训学校如何做网站宣传