日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSM中实现分页与JUnit单元测试

發布時間:2025/3/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSM中实现分页与JUnit单元测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

效果

實現

前文關于SSM的整合配置

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/85052628

?

實現分頁類

在com.badao.util下新建Page.java用于存放分頁信息

package com.badao.util;public class Page {int start =0;//開始位置int count = 5;//每頁的個數int last =0;//最后一頁的位置public int getStart() {return start;}public void setStart(int start) {this.start = start;}public int getCount() {return count;}public void setCount(int count) {this.count = count;}public int getLast() {return last;}public void setLast(int last) {this.last = last;}//通過總數total和每頁的個數計算出最后一頁的位置public void caculateLast(int total) {// 假設總數是50,是能夠被5整除的,那么最后一頁的開始就是45if (0 == total % count)last = total - count;// 假設總數是51,不能夠被5整除的,那么最后一頁的開始就是50elselast = total - total % count;?????} }

修改mapper文件

打開com.badao.mapper下的UserMapper.xml

修改selectAllUser的select語句

?<select id="selectAllUser" resultType="User">select *from??user????<BR>???????????<iftest="start!=null and count!=null">limit #{start},#{count}</if></select>

LIMIT 子句可以被用于強制 SELECT 語句返回指定的記錄數。LIMIT 接受一個或兩個數字參數。參數必須是一個整數常量。如果給定兩個參數,第一個參數指定第一個返回記錄行的偏移量,第二個參數指定返回記錄行的最大數目。初始記錄行的偏移量是 0(而不是 1)。

新增查詢記錄數的select語句

?<select id="total" resultType="int">select count(*) from user</select>?

修改UserMapper.java

修改并新增方法

public List<User> selectAllUser(Page page); public int total();

修改service

增加total用于獲取所有

增加selectAllUser(Page page),根據分頁來查詢數據

package com.badao.service;import java.util.List;import com.badao.pojo.User; import com.badao.util.Page;public interface UserService {List<User> selectAllUser();List<User> selectAllUser(Page page);int total();}

修改serviceImpl

實現上面新增的方法。

package com.badao.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import com.badao.mapper.UserMapper; import com.badao.pojo.User; import com.badao.service.UserService; import com.badao.util.Page; @Service public class UserServiceImpl implements UserService {@AutowiredUserMapper userMapper;public List<User> selectAllUser() {// TODO Auto-generated method stubreturn userMapper.selectAllUser();}@Overridepublic List<User> selectAllUser(Page page) {// TODO Auto-generated method stubreturn userMapper.selectAllUser(page);}@Overridepublic int total() {// TODO Auto-generated method stubreturn userMapper.total();}}

修改Controller

package com.badao.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView;import com.badao.pojo.User; import com.badao.service.UserService; import com.badao.util.Page;// 告訴spring mvc這是一個控制器類 @Controller @RequestMapping("") public class UserController {@AutowiredUserService userService;@RequestMapping("listUser")public ModelAndView listUser(Page page){ModelAndView mav = new ModelAndView();//根據分頁對象,進行查詢獲取查詢對象集合List<User> cs= userService.selectAllUser(page);int total = userService.total();//根據總數,計算最后一頁的信息page.caculateLast(total);// 放入轉發參數mav.addObject("userList", cs);// 放入jsp路徑mav.setViewName("listUser");return mav;}}

修改listUser.jsp

<%pageContext.setAttribute("APP_PATH", request.getContextPath()); %> <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>查詢所有用戶</title> </head><script type="text/javascript" src="${APP_PATH }/static/js/jquery-1.12.4.min.js"></script> <link href="${APP_PATH }/static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet"> <script src="${APP_PATH }/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script> <body> <table align='center' border='1' cellspacing='0' class="table table-bordered"<th ><td>id</td><td>name</td><td>age</td></th><c:forEach items="${userList}" var="u"><tr class="active"><td >${u.id}</td><td>${u.name}</td><td>${u.age}</td></tr></c:forEach> </table> <div style="text-align:center"><BR>???????<ahref="?start= 0">首?頁</a><BR>???????<ahref="?start=${page.start-page.count}">上一頁</a>< BR>???????<ahref="?start=${page.start+page.count}">下一頁</a><BR>???????<ahref="?start=${page.last}">末? 頁</a> </div></body> </html>

注意:

a標簽的href屬性為什么是直接加?

如果?前什么都沒有,那他就再次訪問對應當前地址欄所對應的方法并且拼接上后面的參數。

單元測試向數據庫插入數據

com.badao.test包下新建InsertTest.java

package com.badao.test;import java.util.List;import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.ContextConfiguration; import com.badao.mapper.UserMapper; import com.badao.pojo.User; import com.badao.util.Page; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;//使用junit4時報錯導這個包 @RunWith(SpringJUnit4ClassRunner.class)//使用junit4進行測試 @ContextConfiguration("classpath:applicationContext.xml")//加載配置文件 public class InsertTest {@Autowired//自動注入private UserMapper userMapper;@Test//標明是測試方法@Rollback(false)? //標明使用完此方法后事務不回滾,true時為回滾public void testAdd() {for (int i = 0; i < 100; i++) {User user = new User();user.setName("user"+i);userMapper.addUser(user);}}@Testpublic void testTotal() {int total = userMapper.total();System.out.println(total);}@Testpublic void testList() {Page p = new Page();p.setStart(2);p.setCount(3);List<User> cs=userMapper.selectAllUser(p);for (User c : cs) {System.out.println(c.getName());}} }


?

具體參照:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/85112004

源碼下載

https://download.csdn.net/download/badao_liumang_qizhi/10863507

總結

以上是生活随笔為你收集整理的SSM中实现分页与JUnit单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。