tes-项目创建修改步骤
后端::
一、创建项目table------NameClass.java:
public class NameClass extends BaseModel{ private String realName; private String className; private String address;
右键添加get,set封装
set中改成三目运算符用于去空格:
this.className = className== null ? null : className.trim();
二、创建NameClassForm.java用于扩展NameClass.java:
public class NameClassForm extends NameClass{ /** * 页码 */ private int pageNum; /** * code关键字 */ private String keyWords;
在这里扩展页码和关键字参数,用get、set封装
三、创建NameClassMapper.java接口
public interface NameClassMapper { List<NameClass> queryNameClassByKeyWords(NameClassForm nameClassForm); }
用于调用查询语句
四、创建sql-nameClassMapper.xml进行查询语句的编写
<?xml version="1.0" encoding="UTF-8" ?> !DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.tes.ums.mapper.NameClassMapper"> <resultMap id="BaseResultMap" type="com.tes.ums.model.NameClass"> <result column="real_name" property="realName" jdbcType="VARCHAR" /> <result column="class_name" property="className" jdbcType="VARCHAR" /> <result column="address" property="address" jdbcType="VARCHAR" /> </resultMap> <select id="queryNameClassByKeyWords" resultMap="BaseResultMap"> select t_ums_user_info.real_name,t_ums_class.class_name,address from t_ums_class_student_teacher join t_ums_class on t_ums_class_student_teacher.class_id = t_ums_class.id join t_ums_user_info on t_ums_class_student_teacher.user_id = t_ums_user_info.user_id <if test="keyWords != null and keyWords != ''"> where real_name like '%${keyWords}%' </if> </select> </mapper>
五、创建NameClassManager.java用于将实例化中的参数传出
public interface NameClassManager { PageInfo<NameClass> getNameClassByKeyWords(NameClassForm nameClassForm); }
六、创建Service的NameClassManagerImpl.java用于实现功能
@Service("nameClassManager") public class NameClassManagerImpl implements NameClassManager { // 结果集大小 默认为10 private final static int PAGE_SIZE = 10; @Autowired private NameClassMapper nameClassMapper; @Override public PageInfo<NameClass> getNameClassByKeyWords(NameClassForm nameClassForm) { // 启用分页查询 PageHelper.startPage(nameClassForm.getPageNum(), PAGE_SIZE); // 查询项目列表 List<NameClass> nameClassList111 = nameClassMapper.queryNameClassByKeyWords(nameClassForm); // 用PageInfo对结果进行包装 PageInfo<NameClass> pageInfo = new PageInfo<NameClass>(nameClassList111); return pageInfo; } }
七、创建Controller的NameClassController.java用于进行页面跳转控制
@Controller @RequestMapping("test") public class NameClassController extends BaseController{ @Autowired private NameClassManager nameClassManager; @RequestMapping("toNameClass") public String index(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute NameClassForm nameClassForm){ // 查询 PageInfo<NameClass> nameClass = nameClassManager.getNameClassByKeyWords(nameClassForm); model.addAttribute("nameClass", nameClass); return "test/nameClass"; } }
前端::
一、nameClass.jsp文件中:
1)
form:form action="${staticbase }/user/toNameClass" method="post" commandName="nameClassForm"> //此为url连接语句
2)表单中的显示参数:
<c:if test="${fn:length(nameClass.list) >= 1}"> <tbody> <c:forEach items="${nameClass.list }" var="name" varStatus="status"> <tr > <td>${name.realName }</td> td>${name.className }</td> <td>${name.address }</td> </tr> </c:forEach> </tbody> </table>
3)翻页按钮中的相关参数:
<ul class="pagination pull-right m-n"> <li class="first <c:if test="${nameClass.isFirstPage }">disabled</c:if> " data-pages ="1"><a href="javascript:;">首页</a></li> <li class="previous <c:if test="${nameClass.isFirstPage }">disabled</c:if>" data-pages="${nameClass.prePage }"><a href="javascript:;">上一页</a></li> <c:forEach items="${nameClass.navigatepageNums }" var="pages"> <li <c:if test="${nameClass.pageNum==pages}">class="active"</c:if> data-pages ="${pages }"><a href="javascript:;">${pages }</a></li> </c:forEach> <li class="next <c:if test="${nameClass.isLastPage }">disabled</c:if>" data-pages="${nameClass.nextPage }"><a href="javascript:;">下一页</a></li> <li class="last <c:if test="${nameClass.isLastPage }">disabled</c:if>" data-pages="${nameClass.pages }"><a href="javascript:;">尾页</a></li> </ul>
二、side.jsp中:
<li class="hasChild"><a href="javascript:;"class="withripple"><span class="icon"> <iclass="material-icons">settings</i></span><span>test</span></a> <ul class="acc-menu"> <li><a href="${staticbase }/test/toNameClass" class="withripple">NameClass</a></li> </ul> </li> //此为左侧栏中下拉菜单添加按钮