环境:
- IDEA
- MySQL 5.7.19
- Tomcat 9
- Maven 3.6
要求:
需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;
pojo层:
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Combos {
//号码查询
public int registernumberID;//号码ID
public String registernumber;//号码
public String paymentamount;//支付总价
}
dao层:
import com.liang.pojo.*;
import org.apache.ibatis.annotations.Param;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public interface ComboMapper {
List<Combos> queryAllCombo();
//查询所有号码数据
List<Combos>selectUserList();
/**
* 分页操作,调用findByPage limit分页方法
* @param map
* @return
*/
List<Combos> findByPage(HashMap<String,Object> map);
}
dao Mapper层:
<select id="queryAllCombo" resultType="Combos">
select * from chinamobile.p_sim
</select>
<!--查询所有用户数据 -->
<select id="selectUserList" resultType="com.liang.pojo.Combos">
select
<include refid="Base_Column_List" />
from p_registernumber
</select>
<!-- 根据分页数据start 和size查询数据 -->
<select id="findByPage" parameterType="Map" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from p_registernumber
<if test="start!=null and size!=null">
limit #{start},#{size}
</if>
</select>
Service层:
List<Combos> queryAllCombo();
//分页操作,调用findByPage limit分页方法
PageBean<Combos> findByPage(int currentPage);
//查询所有号码数据
List<Combos>selectUserList();
ServiceImpl层
@Override
public List<Combos> queryAllCombo() {
return comboMapper.queryAllCombo();
}
@Override
public List<Combos> selectUserList() {
return comboMapper.selectUserList();
}
@Override
public PageBean<Combos> findByPage(int currentPage) {
HashMap<String,Object> map = new HashMap<String,Object>();
PageBean<Combos> pageBean = new PageBean<Combos>();
//封装当前页数
pageBean.setCurrPage(currentPage);
//每页显示的数据
int pageSize=5;
pageBean.setPageSize(pageSize);
//封装总记录数
int totalCount = comboMapper.selectCount();
pageBean.setTotalCount(totalCount);
//封装总页数
double tc = totalCount;
Double num =Math.ceil(tc/pageSize);//向上取整
pageBean.setTotalPage(num.intValue());
map.put("start",(currentPage-1)*pageSize);
map.put("size", pageBean.getPageSize());
//封装每页显示的数据
List<Combos> lists = comboMapper.findByPage(map);
pageBean.setLists(lists);
return pageBean;
}
Controller 层
@RequestMapping("/account")
public String account(@RequestParam(value="currentPage", defaultValue="1", required=false)int currentPage,Model model){
List<Combos> list = comboService.queryAllCombo();
model.addAttribute("list",list);
model.addAttribute("pagemsg", comboService.findByPage(currentPage));//回显分页数据
List<Combos> lists = comboService.selectUserList();
model.addAttribute("userLists", lists);
return "account";
}
account.jsp
<c:if test="${!empty requestScope.pagemsg}">
<table border="1" cellpadding="10" cellspacing="0" class="table table-bordered mt-3" id="cardnumber">
<thead class="thead-light">
<tr>
<%--<th>id</th>--%>
<th>号码</th>
<th>支付总价</th>
<th>操作</th>
</tr>
</thead>
<c:forEach items="${requestScope.pagemsg.lists}" var="u">
<tr onclick="asd(${u.registernumber},${u.registernumberID})">
<%--<td>${u.registernumberID}</td>--%>
<td>${u.registernumber}</td>
<td>${u.paymentamount}</td>
<td>
<button id="btn" type="button" class="btn btn-link"style="font-size: 14px;" onclick="oncardnumber(${u.registernumber},${u.registernumberID})">选择号码</button>
<a id="link" href="${pageContext.request.contextPath}/combo/deleteBook/${u.registernumberID}"></a>
</td>
</tr>
</c:forEach>
</table>
</c:if>
<table border="0" cellspacing="0" cellpadding="0" width="900px">
<tr>
<td class="td2">
<span>第${requestScope.pagemsg.currPage }/ ${requestScope.pagemsg.totalPage}页</span>
<span>总记录数:${requestScope.pagemsg.totalCount } 每页显示:${requestScope.pagemsg.pageSize}</span>
<span>
<c:if test="${requestScope.pagemsg.currPage != 1}">
<a href="${pageContext.request.contextPath }/combo/account?currentPage=1">[首页]</a>
<a href="${pageContext.request.contextPath }/combo/account?currentPage=${requestScope.pagemsg.currPage-1}">[上一页]</a>
</c:if>
<c:if test="${requestScope.pagemsg.currPage != requestScope.pagemsg.totalPage}">
<a href="${pageContext.request.contextPath }/combo/account?currentPage=${requestScope.pagemsg.currPage+1}">[下一页]</a>
<a href="${pageContext.request.contextPath }/combo/account?currentPage=${requestScope.pagemsg.totalPage}">[尾页]</a>
</c:if>
</span>
</td>
</tr>
</table>
更多推荐
java+SSM框架实现分页查询
发布评论