提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
一、使用步骤
1.Dao层数据库实现
代码如下(示例):
@Override
public List<Repairs> search(int pageIndex, int pageSize,String whether) {
//封装数据的集合
List<Repairs> list = new ArrayList<>();
String sql= "select * from repairs limit ?,? ";
if(whether!=""){ //带查询条件
sql="select * from repairs where whether like ? limit ?,?";
}
Connection conn = BaseDao.getConnection(); //连接
PreparedStatement st = null; //命令
ResultSet rs = null; //结果集
try {
//命令对象的创建
st = conn.prepareStatement(sql);
if(whether!=""){
st.setObject(1,"%"+whether+"%");
st.setObject(2, (pageIndex - 1) * pageSize);
st.setObject(3, pageSize);
}
else {
st.setObject(1, (pageIndex - 1) * pageSize);
st.setObject(2, pageSize);
}
//调用方法执行,结果集的获取
rs = st.executeQuery();
while(rs.next()){ //循环每一条数据进行封装
Repairs repairs = new Repairs();
repairs.setRid(rs.getInt(1));
repairs.setDormitorys(rs.getString(2));
repairs.setTel(rs.getString(3));
repairs.setDorm(rs.getString(4));
repairs.setWhether(rs.getString(5));
repairs.setTime(rs.getString(6));
repairs.setTupian(rs.getString(7));
// repairs.setTupian((File) rs.getObject(7));
//维修人员编号
int rid = rs.getInt(8);
Repairman repairman = new RepairmanDaoImpl().getRepairmanById(rid);
repairs.setRepairname(repairman);
list.add(repairs);
}
}catch (Exception ex){
ex.printStackTrace();
}finally {
BaseDao.closeAll(conn,st,rs);
}
return list;//返回集合
}
@Override
public int getCount(String whether) {
String sql= "select count(*) from repairs";
if(whether != null){ //带查询条件
sql+=" where whether like '%"+whether+"%'";
}
Connection conn = BaseDao.getConnection(); //连接
PreparedStatement st = null; //命令
ResultSet rs = null; //结果集
try {
st = conn.prepareStatement(sql);
rs = st.executeQuery();
if(rs.next()){
return rs.getInt(1);
}
}catch (Exception ex){
ex.printStackTrace();
}finally {
BaseDao.closeAll(conn,st,rs);
}
return 0;
}
2.Service层实现类
代码如下(示例):
@Override
public PageUtil<Repairs> search(int pageIndex, int pageSize, String whether)
{
PageUtil<Repairs> pageUtil = new PageUtil<>();
int rowNum = dao.getCount(whether);
//计算总页数
int pageCount = (int)Math.ceil((double)rowNum/pageSize);
List<Repairs> list = dao.search(pageIndex,pageSize,whether);
//把分页所需要的数据封装
pageUtil.setPageIndex(pageIndex);
pageUtil.setPageSize(pageSize);
pageUtil.setCount(rowNum);
pageUtil.setPageNum(pageCount);
pageUtil.setList(list);
return pageUtil;
}
2.html前端
代码如下(示例):
$(function () {
$.getJSON("repairs",function (data) {
loadData(data);
});
});
function search() {
var search = $("#search").val();
$.getJSON("repairs",{"pageIndex":1,"search":search},function (data) {
loadData(data);
});
}
function loadData(data) {
//把表格中以前的tr删除
$("#t tr:gt(0)").remove();
for (var i = 0; i < data.list.length; i++) {
var str = "<tr><td>";
str += data.list[i].rid + "</td><td>";
str += data.list[i].dormitorys + "</td><td>";
str += data.list[i].tel + "</td><td>";
str += data.list[i].dorm + "</td><td>";
str += data.list[i].whether + "</td><td>";
str += data.list[i].time + "</td><td>";
str += "<img src='/_war_exploded/userFile/" +data.list[i].tupian + "' width=50px height=50px /></td><td>";
str += data.list[i].repairname.rname + "</td><td>";
str += "<a href='repairs?id="+data.list[i].rid+"'>处理完成</a></td></tr>";
$("#t").append(str);
}
var page = "共" + data.count + "条,共" + data.pageNum + "页,当前第" + data.pageIndex + "页";
page += "<a href='#' οnclick='mypage(1)'>首 页</a>";
if (data.pageIndex == 1) {
page += "<a href='#' οnclick='mypage(1)'>上一页</a>";
} else {
page += "<a href='#' οnclick='mypage(" + (data.pageIndex - 1) + ")'>上一页</a>";
}
var begin;
var end;
if (data.pageIndex<=5) {
begin = 1;
}
else {
begin = data.pageIndex - 5;
}
if (data.pageIndex+5<data.pageNum){
end = data.pageIndex+5
}else{
end =data.pageNum;
}
for (var i = begin; i <= end; i++) {
page += "<a href='#' οnclick='mypage(" + i + ")'>" + i + "</a>";
}
if (data.pageIndex<data.pageNum) {
page += "<a href='#' οnclick='mypage("+(data.pageIndex+1)+")'>下一页</a>";
}else{
page+="<a href='#' οnclick='mypage("+data.pageNum+")'>下一页</a>";
}
page+="<a href='#' οnclick='mypage("+data.pageNum+")'>末页</a>";
$("#page").html(page);
}
function mypage(index) {
var search = $("#search").val();
$.getJSON("repairs",{"pageIndex":index,"search":search},function (data) {
loadData(data);
});
return false;
}
2.Servlet层
代码如下(示例):
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if(request.getParameter("pageIndex") != null){
String whether="";
if(request.getParameter("search")!=null) {
whether = request.getParameter("search");
System.out.println(whether);
}
int pageIndex = Integer.parseInt(request.getParameter("pageIndex"));
writeData(response,pageIndex,whether);
}
else {
writeData(response);
}
}
/**
* 支持ajax,读取所有信息,并写出到客户端,
* @param response
* @throws IOException
*/
private void writeData(HttpServletResponse response,Object ... args) throws IOException {
int pageIndex = 1; //默认第一页
String whether= "";
if(args.length>0){
pageIndex=(int)args[0];
whether = args[1].toString();
}
//调用底层方法取分页数据
PageUtil<Repairs> pageUtil = new RepairsServiceImpl().search(pageIndex,5,whether);
//转换成Json格式
String jsonString = JSON.toJSONString(pageUtil);
System.out.println(jsonString+"吐了");
//输出对象
PrintWriter out = response.getWriter();
//写出到客户端
out.write(jsonString);
}
总结
提示:这里对文章进行总结:
例如: