ssm分页和添加、更新用户信息

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

此次是在上一篇博客上进行功能的添加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">

运行程序
分页功能
在这里插入图片描述
在这里插入图片描述
添加功能
在这里插入图片描述
在这里插入图片描述
更新功能
在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值