基于SSM+layui实现了用户列表的展示以及分页管理的功能,其中分为bean层,mapper层,service层,controller层,以及jsp前端页面的实现
注:该列表展示使用了layui中数据表格的样式框架,Layui table模块 | 数据表格 | datatable - 在线演示 (layuion.com),其中底部实现的分页功能需额外引入jar包—pageHelper
@AllArgsConstructor
@NoArgsConstructor
@Data
public class UserInfo implements Serializable{
/**
*
*/
private static final long serialVersionUID = -6943242013517012358L;
private Integer id;
private String userId;
private String userName;
private String password;
@JsonFormat(timezone = "GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
private Date registerTime;
private Boolean state;
}
注意:mapper层的两个方法名必须相同
public interface UserInfoMapper {
public List<UserInfo> findAllUsers();
}
<resultMap type="UserInfo" id="userMap">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="user_name" property="userName"/>
<result column="password" property="password"/>
<result column="register_time" property="registerTime"/>
<result column="state" property="state"/>
resultMap>
<select id="findUserInfoByName" parameterType="String"
resultMap="userMap">
select * from user where user_name=#{userName}
select>
public interface UserInfoService {
public PageInfo<UserInfo> findAllUsers(int pageIndex,int pageSize);
}
@Transactional
@Service
public class UserInfoServiceImpl implements UserInfoService{
@Autowired
private UserInfoMapper userInfoMapper;
/**
* 分页实现的关键代码
* pageIndex:当前的页码,pageSize:每一页最多的记录数
*/
@Override
public PageInfo<UserInfo> findAllUsers(int pageIndex,int pageSize) {
PageHelper.startPage(pageIndex, pageSize);//拦截功能,返回了当前页的最多数据
List<UserInfo> list = userInfoMapper.findAllUsers();
PageInfo<UserInfo> pageInfo = new PageInfo<UserInfo>(list);
return pageInfo;
}
}
@Controller
public class UserInfoController {
@Autowired
private UserInfoService userInfoService;
@RequestMapping("/findAllUsers")
@ResponseBody
public Map<String, Object> findAllUsers(int page,int limit) {
Map<String, Object> map = new HashMap<String, Object>();
PageInfo<UserInfo> pageInfo = userInfoService.findAllUsers(page,limit);
map.put("code", 0);
map.put("msg", "success");
map.put("count", pageInfo.getTotal());
map.put("data", pageInfo.getList());
return map;
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
用户列表
public interface UserInfoService {
public List<UserInfo> findAllUsers();
}
@Transactional
@Service
public class UserInfoServiceImpl implements UserInfoService {
@Autowired
private UserInfoMapper userInfoMapper;
@Override
public List<UserInfo> findAllUsers() {
return userInfoMapper.findAllUsers();
}
}
@Controller
public class UserInfoController {
@Autowired
private UserInfoService userInfoService;
@RequestMapping("/findAllUsers")
@ResponseBody //返回json数据:必须是layui指定的格式
public Map<String, Object> findAllUsers(){
Map<String, Object> map = new HashMap<String, Object>();
List<UserInfo> list = userInfoService.findAllUserInfo();
map.put("code",0);
map.put("msg","success");
map.put("count",list.size());
map.put("data",list);
return map;
}
}