XML解析+通用分页

XML解析

  1. 什么是XML
  2. DTD Schema 是用来做什么的
  3. 什么是格式良好XML
  4. 读取根路径下的资源文件,以properites为例
  5. dom4j解析xml
  6. xpath解析xml

1.什么是XML:可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。

2:DTD Schema 都是用来效验XML的

3.什么是格式良好XML:
3.1 有且只有一个根元素
3.2 XML标签大小写正确区分
3.3 正确使用结束标签
3.4 正确嵌套标签
3.5 使用了合法的标签名(A-Za-z0-9-_)
3.6 定义有效的属性

4; 读取根路径下的资源文件,以properites为例
XML解析+通用分页_第1张图片
XML解析+通用分页_第2张图片
5.dom4j解析xml
明确需求:
*要获取到名字为小芳,id=s002的学生信息,然后再控制台进行打印
*
*期望结果:
*sid=s002,name=小芳
*
*分析得出具体对的实现步骤
*1.加载资源文件
*2.解析得到所有的student标签
*3.遍历得到唯一个student标签xml内容

XML解析+通用分页_第3张图片
6.xpath解析xml
XML解析+通用分页_第4张图片

通用分页

  • 通用分页核心思路

  • 将上一次查询请求再发一次,只不过页码变了

  • 下面上实际效果图
    XML解析+通用分页_第5张图片

  • PageBean
    分页三要素
    page 页码 视图层传递过来
    rows 页大小 视图层传递过来
    total 总记录数 后台查出来

    pagination 是否分页 视图层传递过来

public List query(String sql,PageBean pageBean,Callback callback){
		List ls=new ArrayList();
		Connection con=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		//第一次查询 查总记录数
		if(null!=pageBean&&pageBean.isPagination()) {
			try {
				con=DBAccess.getConnection();
				String countsql=this.getCountSql(sql);
				ps=con.prepareStatement(countsql);
				rs=ps.executeQuery();
				if(rs.next()) {
					pageBean.setTotal(rs.getInt(1));
				}
			} catch (SQLException e) {
				// TODO: handle exception
				throw new RuntimeException();
			}finally {
				DBAccess.close(null, ps, rs);
			}
			
		}
		//第二次查询 查询满足条件的记录数
		if(null!=pageBean&&pageBean.isPagination()) {
			sql=this.getPageSql(sql, pageBean);
		}
		try {
			con=DBAccess.getConnection();
			ps=con.prepareStatement(sql);
			rs=ps.executeQuery();
			return callback.foreach(rs);
		} catch (SQLException e) {
			// TODO: handle exception
			throw new RuntimeException();
		}finally {
			DBAccess.close(null, ps, rs);
		}
	}
	
	/**
	 * 把普通sql转成查总记录数sql
	 * @param sql
	 * @return
	 */
	public String getCountSql(String sql) {
		String countSql="select count(*) from ("+sql+") t";
		return countSql;
	}
	/**
	 * 查满足分页的sql
	 * @param sql
	 * @return
	 */
	public String getPageSql(String sql,PageBean pageBean) {
		String pageSql=sql+" limit "+pageBean.getStartIndex()+","+pageBean.getRows()+"";
		return pageSql;
	}

你可能感兴趣的:(MVC复习)