基于SSM+layui实现用户列表展示以及分页功能

基于SSM+layui实现了用户列表的展示以及分页管理的功能,其中分为bean层,mapper层,service层,controller层,以及jsp前端页面的实现

一、实现效果

基于SSM+layui实现用户列表展示以及分页功能_第1张图片

注:该列表展示使用了layui中数据表格的样式框架,Layui table模块 | 数据表格 | datatable - 在线演示 (layuion.com),其中底部实现的分页功能需额外引入jar包—pageHelper

二、数据准备

1、MySQL表构建:user

基于SSM+layui实现用户列表展示以及分页功能_第2张图片

2、添加数据

基于SSM+layui实现用户列表展示以及分页功能_第3张图片

三、代码编写

1、bean层—UserInfo.java

@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;
}

2、mapper层—UserInfoMapper.java UserInfoMapper.xml

注意:mapper层的两个方法名必须相同

UserInfoMapper.java
public interface UserInfoMapper {
    public List<UserInfo> findAllUsers();
}
UserInfoMapper.xml
<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>

3、service层—UserInfoService.java UserInfoServiceImpl.java

UserInfoService.java
public interface UserInfoService {
    public PageInfo<UserInfo> findAllUsers(int pageIndex,int pageSize);
}
UserInfoServiceImpl.java
@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;
	}
}

4、controller层—UserInfoController.java

@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;
	}
}

5、list_user.jsp是基于layui中数据表格部分代码

<%@ 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 + "/";
%>





用户列表







	

四、若无需分页操作,则只需修改service层和controller层即可

1、service层—UserInfoService.java UserInfoServiceImpl.java

UserInfoService.java
public interface UserInfoService {
    public List<UserInfo> findAllUsers();
}
UserInfoServiceImpl.java
@Transactional
@Service
public class UserInfoServiceImpl implements UserInfoService {
    @Autowired
	private UserInfoMapper userInfoMapper;
    
    @Override
	public List<UserInfo> findAllUsers() {
		return userInfoMapper.findAllUsers();
	}
}

2、controller层—UserInfoController.java

@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;
	}
}

你可能感兴趣的:(ssm,layui,java,数据库)