此次是在上一篇博客上进行功能的添加https://blog.youkuaiyun.com/qq_40718312/article/details/95964807
先导入jar包,在pom.xml的下添加
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
用于分页,然后在applicationContext.xml下添加,告诉数据库在哪
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect">mysql</prop>
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
分页功能的实现
在user-list.jsp中修改代码
</div>
<!-- /.box-body -->
<div class="box-tools pull-right">
<ul class="pagination">
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5" aria-label="Previous">首页</a></li>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum-1}&size=5">上一页</a></li>
<c:forEach begin="1" end="${pageInfo.pages}" var="pageNumber">
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageNumber}&size=5">${pageNumber}</a></li>
</c:forEach>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum+1}&size=5">下一页</a></li>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pages}&size=5" aria-label="Next">尾页</a></li>
</ul>
</div>
</div>
这里实现了分页的功能,每个页面显示五条数据,使用for循环显示数据
然后修改UserInfoServiceImpl的findAll
@Override
public List<UserInfo> findAll(int page,int size) {
PageHelper.startPage(page,size);
return userInfoDao.findAll();
}
修改UserInfoController的findAll为
public ModelAndView findAll(@RequestParam(defaultValue = "1")int page, @RequestParam(defaultValue = "5")int size){
ModelAndView mv = new ModelAndView();
List<UserInfo> userInfos = userInfoService.findAll(page,size);
PageInfo pageInfo=new PageInfo(userInfos);
mv.addObject("pageInfo",pageInfo);
mv.setViewName("user-list");
return mv;
}
在pages包下修改aside.jsp
<li id="system-setting">
<a
href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5"> <i
class="fa fa-circle-o"></i> 用户管理
</a>
</li>
这样就定义好了一个页面显示五条数据和分页功能
添加修改用户信息
在IUserInfoDao中添加数据库接口
void add(UserInfo userInfo);
UserInfo selectById(int id);
void update(UserInfo userInfo);
在UserInfoMapper中实现数据库操作的接口,添加
<insert id="add" parameterType="com.zhongruan.bean.UserInfo">
insert into userinfo (username,password) values (#{username},#{password})
</insert>
<select id="selectById" parameterType="int" resultType="com.zhongruan.bean.UserInfo">
select * from userinfo where id=#{id}
</select>
<update id="update" parameterType="com.zhongruan.bean.UserInfo">
update userinfo set username=#{username},password=#{password} where id=#{id}
</update>
在业务层service添加接口和其实现的函数
void add(UserInfo userInfo);
UserInfo selectById(int id);
void update(UserInfo userInfo);
@Override
public void add(UserInfo userInfo) {
userInfoDao.add(userInfo);
}
@Override
public UserInfo selectById(int id) {
return userInfoDao.selectById(id);
}
@Override
public void update(UserInfo userInfo) {
userInfoDao.update(userInfo);
}
在控制层添加实现添加和更新用户的操作
@RequestMapping("/user-add.do")
public String add(UserInfo userInfo){
userInfoService.add(userInfo);
return "redirect:findAll.do";//重定向
}
@RequestMapping("/toAddUser.do")
public String toAddUser(){
return "user-list";
}
@RequestMapping("/toUpdate.do")
public ModelAndView toUpdate(int id){
UserInfo userInfo = userInfoService.selectById(id);
ModelAndView mv = new ModelAndView();
mv.addObject("userInfo",userInfo);
mv.setViewName("/user-update");
return mv;
}
@RequestMapping("/update.do")
public String update(UserInfo userInfo){
userInfoService.update(userInfo);
return "redirect:findAll.do";
}
还pages包中修改部分代码,使其能找到控制层的函数
在user-add.jsp修改
<form action="/user/user-add.do"
method="post">
<!-- 正文区域 -->
在user-list.jsp中修改
<td class="text-center">
<a href="${pageContext.request.contextPath}/user/toUpdate.do?id=${userInfos.id}" class="btn bg-olive btn-xs">更新</a>
在user-update.jsp中修改
<form action="/user/update.do"
method="post">
运行程序
分页功能


添加功能


更新功能


本文介绍了如何在MyBatis中实现分页功能,并展示了具体的代码实现过程。此外,还介绍了如何添加用户信息、更新用户信息等功能。
6743

被折叠的 条评论
为什么被折叠?



