`
fengfeng925
  • 浏览: 105290 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

内容失效

 
阅读更多
-----------内容被管理员屏蔽---------------------



分享到:
评论
44 楼 fengfeng925 2009-10-30  
tsyjswpu 写道
黑暗浪子 写道
tsyjswpu 写道
	@SuppressWarnings("unchecked")
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> QueryResult<T> getScrollData(Class<T> entityClass, int firstindex, int maxresult
			, String wherejpql, Object[] queryParams,LinkedHashMap<String, String> orderby) {
		QueryResult qr = new QueryResult<T>();
		String entityname = getEntityName(entityClass);
		Query query = em.createQuery("select o from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql)+ buildOrderby(orderby));
		setQueryParams(query, queryParams);
		if(firstindex!=-1 && maxresult!=-1) query.setFirstResult(firstindex).setMaxResults(maxresult);
		qr.setResultlist(query.getResultList());
		query = em.createQuery("select count("+ getCountField(entityClass)+ ") from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql));
		setQueryParams(query, queryParams);
		qr.setTotalrecord((Long)query.getSingleResult());
		return qr;
	}
	

	/**
	 * 组装order by语句
	 * @param orderby
	 * @return
	 */
	protected String buildOrderby(LinkedHashMap<String, String> orderby){
		StringBuffer orderbyql = new StringBuffer("");
		if(orderby!=null && orderby.size()>0){
			orderbyql.append(" order by ");
			for(String key : orderby.keySet()){
				orderbyql.append("o.").append(key).append(" ").append(orderby.get(key)).append(",");
			}
			orderbyql.deleteCharAt(orderbyql.length()-1);
		}
		return orderbyql.toString();
	}
	/**
	 * 获取实体的名称
	 * @param <T>
	 * @param entityClass 实体类
	 * @return
	 */
	protected <T> String getEntityName(Class<T> entityClass){
		String entityname = entityClass.getSimpleName();
		Entity entity = entityClass.getAnnotation(Entity.class);
		if(entity.name()!=null && !"".equals(entity.name())){
			entityname = entity.name();
		}
		return entityname;
	}
	
	protected <T> String getCountField(Class<T> clazz){
		String out = "o";
		try {
			PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(clazz).getPropertyDescriptors();
			for(PropertyDescriptor propertydesc : propertyDescriptors){
				Method method = propertydesc.getReadMethod();
				if(method!=null && method.isAnnotationPresent(EmbeddedId.class)){					
					PropertyDescriptor[] ps = Introspector.getBeanInfo(propertydesc.getPropertyType()).getPropertyDescriptors();
					out = "o."+ propertydesc.getName()+ "." + (!ps[1].getName().equals("class")? ps[1].getName(): ps[0].getName());
					break;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
        return out;
	}
}


这就是黎活明老师的,怎么样很像吧,自尊受打击了吧。

你个人觉得这些代码写的很好吗?呵呵,建议用findbugs查查。

崩在那里装牛逼.

又开始骂人了,你这人太牛逼了。不知道是不是培训过如此能装。代码我已经传了替你。大家自己下下来比对吧。
43 楼 tsyjswpu 2009-10-30  
黑暗浪子 写道
tsyjswpu 写道
	@SuppressWarnings("unchecked")
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> QueryResult<T> getScrollData(Class<T> entityClass, int firstindex, int maxresult
			, String wherejpql, Object[] queryParams,LinkedHashMap<String, String> orderby) {
		QueryResult qr = new QueryResult<T>();
		String entityname = getEntityName(entityClass);
		Query query = em.createQuery("select o from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql)+ buildOrderby(orderby));
		setQueryParams(query, queryParams);
		if(firstindex!=-1 && maxresult!=-1) query.setFirstResult(firstindex).setMaxResults(maxresult);
		qr.setResultlist(query.getResultList());
		query = em.createQuery("select count("+ getCountField(entityClass)+ ") from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql));
		setQueryParams(query, queryParams);
		qr.setTotalrecord((Long)query.getSingleResult());
		return qr;
	}
	

	/**
	 * 组装order by语句
	 * @param orderby
	 * @return
	 */
	protected String buildOrderby(LinkedHashMap<String, String> orderby){
		StringBuffer orderbyql = new StringBuffer("");
		if(orderby!=null && orderby.size()>0){
			orderbyql.append(" order by ");
			for(String key : orderby.keySet()){
				orderbyql.append("o.").append(key).append(" ").append(orderby.get(key)).append(",");
			}
			orderbyql.deleteCharAt(orderbyql.length()-1);
		}
		return orderbyql.toString();
	}
	/**
	 * 获取实体的名称
	 * @param <T>
	 * @param entityClass 实体类
	 * @return
	 */
	protected <T> String getEntityName(Class<T> entityClass){
		String entityname = entityClass.getSimpleName();
		Entity entity = entityClass.getAnnotation(Entity.class);
		if(entity.name()!=null && !"".equals(entity.name())){
			entityname = entity.name();
		}
		return entityname;
	}
	
	protected <T> String getCountField(Class<T> clazz){
		String out = "o";
		try {
			PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(clazz).getPropertyDescriptors();
			for(PropertyDescriptor propertydesc : propertyDescriptors){
				Method method = propertydesc.getReadMethod();
				if(method!=null && method.isAnnotationPresent(EmbeddedId.class)){					
					PropertyDescriptor[] ps = Introspector.getBeanInfo(propertydesc.getPropertyType()).getPropertyDescriptors();
					out = "o."+ propertydesc.getName()+ "." + (!ps[1].getName().equals("class")? ps[1].getName(): ps[0].getName());
					break;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
        return out;
	}
}


这就是黎活明老师的,怎么样很像吧,自尊受打击了吧。

你个人觉得这些代码写的很好吗?呵呵,建议用findbugs查查。

崩在那里装牛逼.
42 楼 fengfeng925 2009-10-30  
fengfeng925 写道
黑暗浪子 写道
slaser 写道
xqh1022 写道
个人感觉,这个东西也就是一般人的想法,大家都这么做的,理所当然,你可不可以脱离hibernate,hibernate没多少人用的,用它还不如自己封装jdbc照样能达到相同的效果

你封装得比hibernate好么?

看来你不清楚hibernate的“原罪”啊`

我的代码里有这些东西吗?好像没吧。不想和你争这些问题了。我帮你把黎活民的代码发上来。大家下下来自己比对吧。是不是一点都没有变呢。如果说他dao层里的一些代码不错,我拿来用就是完全copy那随便你把。


引用错了。
41 楼 fengfeng925 2009-10-30  
黑暗浪子 写道
slaser 写道
xqh1022 写道
个人感觉,这个东西也就是一般人的想法,大家都这么做的,理所当然,你可不可以脱离hibernate,hibernate没多少人用的,用它还不如自己封装jdbc照样能达到相同的效果

你封装得比hibernate好么?

看来你不清楚hibernate的“原罪”啊`

我的代码里有这些东西吗?好像没吧。不想和你争这些问题了。我帮你把黎活民的代码发上来。大家下下来自己比对吧。是不是一点都没有变呢。如果说他dao层里的一些代码不错,我拿来用就是完全copy那随便你把。
40 楼 黑暗浪子 2009-10-30  
tsyjswpu 写道
	@SuppressWarnings("unchecked")
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> QueryResult<T> getScrollData(Class<T> entityClass, int firstindex, int maxresult
			, String wherejpql, Object[] queryParams,LinkedHashMap<String, String> orderby) {
		QueryResult qr = new QueryResult<T>();
		String entityname = getEntityName(entityClass);
		Query query = em.createQuery("select o from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql)+ buildOrderby(orderby));
		setQueryParams(query, queryParams);
		if(firstindex!=-1 && maxresult!=-1) query.setFirstResult(firstindex).setMaxResults(maxresult);
		qr.setResultlist(query.getResultList());
		query = em.createQuery("select count("+ getCountField(entityClass)+ ") from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql));
		setQueryParams(query, queryParams);
		qr.setTotalrecord((Long)query.getSingleResult());
		return qr;
	}
	

	/**
	 * 组装order by语句
	 * @param orderby
	 * @return
	 */
	protected String buildOrderby(LinkedHashMap<String, String> orderby){
		StringBuffer orderbyql = new StringBuffer("");
		if(orderby!=null && orderby.size()>0){
			orderbyql.append(" order by ");
			for(String key : orderby.keySet()){
				orderbyql.append("o.").append(key).append(" ").append(orderby.get(key)).append(",");
			}
			orderbyql.deleteCharAt(orderbyql.length()-1);
		}
		return orderbyql.toString();
	}
	/**
	 * 获取实体的名称
	 * @param <T>
	 * @param entityClass 实体类
	 * @return
	 */
	protected <T> String getEntityName(Class<T> entityClass){
		String entityname = entityClass.getSimpleName();
		Entity entity = entityClass.getAnnotation(Entity.class);
		if(entity.name()!=null && !"".equals(entity.name())){
			entityname = entity.name();
		}
		return entityname;
	}
	
	protected <T> String getCountField(Class<T> clazz){
		String out = "o";
		try {
			PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(clazz).getPropertyDescriptors();
			for(PropertyDescriptor propertydesc : propertyDescriptors){
				Method method = propertydesc.getReadMethod();
				if(method!=null && method.isAnnotationPresent(EmbeddedId.class)){					
					PropertyDescriptor[] ps = Introspector.getBeanInfo(propertydesc.getPropertyType()).getPropertyDescriptors();
					out = "o."+ propertydesc.getName()+ "." + (!ps[1].getName().equals("class")? ps[1].getName(): ps[0].getName());
					break;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
        return out;
	}
}


这就是黎活明老师的,怎么样很像吧,自尊受打击了吧。

你个人觉得这些代码写的很好吗?呵呵,建议用findbugs查查。
39 楼 黑暗浪子 2009-10-30  
slaser 写道
xqh1022 写道
个人感觉,这个东西也就是一般人的想法,大家都这么做的,理所当然,你可不可以脱离hibernate,hibernate没多少人用的,用它还不如自己封装jdbc照样能达到相同的效果

你封装得比hibernate好么?

看来你不清楚hibernate的“原罪”啊`
38 楼 黑暗浪子 2009-10-30  
aaa5131421 写道
粗略的看了一下,还可以,呵呵,不过根据我看过的尚学堂的oa视频,其实你的这个分页还会有好多需要改进的地方
1、刚才有人说前台分页可以用标签来做,其实已经有现成的标签实现了,pagertaglib, pagertaglib  可以和你后台的hibernate代码完全整合,少去很多重复的jsp代码
2、 firstindex, maxresult这些可以用filter和threadlocal结合使用,将参数从业务层方法中去除,业务方法里面不会出现分页参数这些和业务逻辑无关的东西
~~~具体的不写了,建议大家去看看我说的相关资料哈

有没有通用支持各种ORM和JDBC的分页标签呢?有的话,请这位兄弟指点一下,目前我正好有这么一个需求。我以前做的分页比较差,正想Update一个通用的分页标签呢。
37 楼 tsyjswpu 2009-10-30  
package com.itcast.service.base;

import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.LinkedHashMap;

import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.itcast.bean.QueryResult;

@Transactional
public abstract class DaoSupport implements DAO{
	@PersistenceContext protected EntityManager em;
	
	public void clear(){
		em.clear();
	}

	public <T> void delete(Class<T> entityClass,Object entityid) {
		delete(entityClass, new Object[]{entityid});
	}

	public <T> void delete(Class<T> entityClass,Object[] entityids) {
		for(Object id : entityids){
			em.remove(em.getReference(entityClass, id));
		}
	}
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> T find(Class<T> entityClass, Object entityId) {
		return em.find(entityClass, entityId);
	}

	public void save(Object entity) {
		em.persist(entity);
	}
	
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> long getCount(Class<T> entityClass) {
		return (Long)em.createQuery("select count("+ getCountField(entityClass) +") from "+ getEntityName(entityClass)+ " o").getSingleResult();
	}
	
	public void update(Object entity) {
		em.merge(entity);
	}
	
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> QueryResult<T> getScrollData(Class<T> entityClass,
			int firstindex, int maxresult, LinkedHashMap<String, String> orderby) {
		return getScrollData(entityClass,firstindex,maxresult,null,null,orderby);
	}
	
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> QueryResult<T> getScrollData(Class<T> entityClass,
			int firstindex, int maxresult, String wherejpql, Object[] queryParams) {
		return getScrollData(entityClass,firstindex,maxresult,wherejpql,queryParams,null);
	}
	
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> QueryResult<T> getScrollData(Class<T> entityClass, int firstindex, int maxresult) {
		return getScrollData(entityClass,firstindex,maxresult,null,null,null);
	}
	
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> QueryResult<T> getScrollData(Class<T> entityClass) {
		return getScrollData(entityClass, -1, -1);
	}

	@SuppressWarnings("unchecked")
	@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
	public <T> QueryResult<T> getScrollData(Class<T> entityClass, int firstindex, int maxresult
			, String wherejpql, Object[] queryParams,LinkedHashMap<String, String> orderby) {
		QueryResult qr = new QueryResult<T>();
		String entityname = getEntityName(entityClass);
		Query query = em.createQuery("select o from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql)+ buildOrderby(orderby));
		setQueryParams(query, queryParams);
		if(firstindex!=-1 && maxresult!=-1) query.setFirstResult(firstindex).setMaxResults(maxresult);
		qr.setResultlist(query.getResultList());
		query = em.createQuery("select count("+ getCountField(entityClass)+ ") from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql));
		setQueryParams(query, queryParams);
		qr.setTotalrecord((Long)query.getSingleResult());
		return qr;
	}
	
	protected void setQueryParams(Query query, Object[] queryParams){
		if(queryParams!=null && queryParams.length>0){
			for(int i=0; i<queryParams.length; i++){
				query.setParameter(i+1, queryParams[i]);
			}
		}
	}
	/**
	 * 组装order by语句
	 * @param orderby
	 * @return
	 */
	protected String buildOrderby(LinkedHashMap<String, String> orderby){
		StringBuffer orderbyql = new StringBuffer("");
		if(orderby!=null && orderby.size()>0){
			orderbyql.append(" order by ");
			for(String key : orderby.keySet()){
				orderbyql.append("o.").append(key).append(" ").append(orderby.get(key)).append(",");
			}
			orderbyql.deleteCharAt(orderbyql.length()-1);
		}
		return orderbyql.toString();
	}
	/**
	 * 获取实体的名称
	 * @param <T>
	 * @param entityClass 实体类
	 * @return
	 */
	protected <T> String getEntityName(Class<T> entityClass){
		String entityname = entityClass.getSimpleName();
		Entity entity = entityClass.getAnnotation(Entity.class);
		if(entity.name()!=null && !"".equals(entity.name())){
			entityname = entity.name();
		}
		return entityname;
	}
	
	protected <T> String getCountField(Class<T> clazz){
		String out = "o";
		try {
			PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(clazz).getPropertyDescriptors();
			for(PropertyDescriptor propertydesc : propertyDescriptors){
				Method method = propertydesc.getReadMethod();
				if(method!=null && method.isAnnotationPresent(EmbeddedId.class)){					
					PropertyDescriptor[] ps = Introspector.getBeanInfo(propertydesc.getPropertyType()).getPropertyDescriptors();
					out = "o."+ propertydesc.getName()+ "." + (!ps[1].getName().equals("class")? ps[1].getName(): ps[0].getName());
					break;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
        return out;
	}
}

package com.itcast.bean;

import java.util.List;

public class QueryResult<T> {
	private List<T> resultlist;
	private long totalrecord;
	
	public List<T> getResultlist() {
		return resultlist;
	}
	public void setResultlist(List<T> resultlist) {
		this.resultlist = resultlist;
	}
	public long getTotalrecord() {
		return totalrecord;
	}
	public void setTotalrecord(long totalrecord) {
		this.totalrecord = totalrecord;
	}
}

这就是黎活明老师的,怎么样很像吧,自尊受打击了吧。
36 楼 fengfeng925 2009-10-30  
tsyjswpu 写道
fengfeng925 写道
tsyjswpu 写道
javaeye是一个比较高端的java论坛,我们需要的是原创和创新,像楼主这样把别人的程序发布到这里来,却偏偏要说是自己写的,有点可笑,这明明是黎活明老师巴巴运动网里面的程序啊,一点都没有变动啊,你要发别人的程序也应该创新一下吧,比如说修改一下不完美的地方,你这样原封不动的照抄下来没有任何意义。

你们老师的代码是用什么写的?是struts2,还是struts1?是hibernate?还是jpa?是mysql,还是oracle?
分页做成链接了,还是按钮了,别在这里鼓捣培训机构的东西?分了几层?我都懒的说你。

COPY黎活明老师的,说的够清楚了三。

发不上来就别扯淡了啊。巴巴运动网用的什么架构,自己去查查,白痴。
35 楼 tsyjswpu 2009-10-30  
fengfeng925 写道
tsyjswpu 写道
javaeye是一个比较高端的java论坛,我们需要的是原创和创新,像楼主这样把别人的程序发布到这里来,却偏偏要说是自己写的,有点可笑,这明明是黎活明老师巴巴运动网里面的程序啊,一点都没有变动啊,你要发别人的程序也应该创新一下吧,比如说修改一下不完美的地方,你这样原封不动的照抄下来没有任何意义。

你们老师的代码是用什么写的?是struts2,还是struts1?是hibernate?还是jpa?是mysql,还是oracle?
分页做成链接了,还是按钮了,别在这里鼓捣培训机构的东西?分了几层?我都懒的说你。

COPY黎活明老师的,说的够清楚了三。
34 楼 fengfeng925 2009-10-30  
tsyjswpu 写道
fengfeng925 写道
tsyjswpu 写道
javaeye是一个比较高端的java论坛,我们需要的是原创和创新,像楼主这样把别人的程序发布到这里来,却偏偏要说是自己写的,有点可笑,这明明是黎活明老师巴巴运动网里面的程序啊,一点都没有变动啊,你要发别人的程序也应该创新一下吧,比如说修改一下不完美的地方,你这样原封不动的照抄下来没有任何意义。

你们老师的代码是用什么写的?是struts2,还是struts1?是hibernate?还是jpa?是mysql,还是oracle?
分页做成链接了,还是按钮了,别在这里鼓捣培训机构的东西?分了几层?我都懒的说你。

你不用在那里狡辩了,别人的东西就是别人的东西.有一点自尊好不好,我知道你现在已经很不好受了,因为你抄袭别人的东西被我发现了.垃圾。

简直是个2孩子。代码发上来,我们看看再做辩论啊,没代码光说有什么用呢?
33 楼 tsyjswpu 2009-10-30  
fengfeng925 写道
tsyjswpu 写道
javaeye是一个比较高端的java论坛,我们需要的是原创和创新,像楼主这样把别人的程序发布到这里来,却偏偏要说是自己写的,有点可笑,这明明是黎活明老师巴巴运动网里面的程序啊,一点都没有变动啊,你要发别人的程序也应该创新一下吧,比如说修改一下不完美的地方,你这样原封不动的照抄下来没有任何意义。

你们老师的代码是用什么写的?是struts2,还是struts1?是hibernate?还是jpa?是mysql,还是oracle?
分页做成链接了,还是按钮了,别在这里鼓捣培训机构的东西?分了几层?我都懒的说你。

你不用在那里狡辩了,别人的东西就是别人的东西.有一点自尊好不好,我知道你现在已经很不好受了,因为你抄袭别人的东西被我发现了.垃圾。
32 楼 fengfeng925 2009-10-30  
tsyjswpu 写道
javaeye是一个比较高端的java论坛,我们需要的是原创和创新,像楼主这样把别人的程序发布到这里来,却偏偏要说是自己写的,有点可笑,这明明是黎活明老师巴巴运动网里面的程序啊,一点都没有变动啊,你要发别人的程序也应该创新一下吧,比如说修改一下不完美的地方,你这样原封不动的照抄下来没有任何意义。

你们老师的代码是用什么写的?是struts2,还是struts1?是hibernate?还是jpa?是mysql,还是oracle?
分页做成链接了,还是按钮了,别在这里鼓捣培训机构的东西?分了几层?我都懒的说你。
31 楼 fengfeng925 2009-10-30  
tsyjswpu 写道
说白了,楼主就是一个新手,把这种比较优雅的代码发上来冒充一下高手

简直太可笑了,你找出来我把谁的代码发上来了?还有,我说过我是高手吗?莫名其妙啊。你最好找出来我copy的谁的代码?找不出来就别在这里乱放P
30 楼 slaser 2009-10-30  
xqh1022 写道
个人感觉,这个东西也就是一般人的想法,大家都这么做的,理所当然,你可不可以脱离hibernate,hibernate没多少人用的,用它还不如自己封装jdbc照样能达到相同的效果

你封装得比hibernate好么?
29 楼 xqh1022 2009-10-30  
import java.util.ArrayList;
import java.util.List;

/**
* 分页
* @author no
*
*/
public class Page {

private int pageCount; //总页数

private int nowPage; //当前页编号

private int pageSize; //页面大小

private int infoCount; //总记录数

private boolean hasPre;//是否有上一页
   
private boolean hasNext;//是否有下一页
   
private boolean isFirst;//是否是第一页
   
private boolean isLast;//是否是最后一页

private List page=new ArrayList();//数据集

public List getPage() {
return page;
}

public void setPage(List page) {
this.page = page;
}

public int getPageCount() {
return pageCount;
}

public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}

public int getNowPage() {
if(nowPage>pageCount)
return pageCount;
else
return nowPage;
}

public void setNowPage(int nowPage) {
this.nowPage = nowPage;
}

public int getPageSize() {
return pageSize;
}

public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}

public int getInfoCount() {
return infoCount;
}

public void setInfoCount(int infoCount) {
this.infoCount = infoCount;
}



public boolean isHasPre() {
if(nowPage!=1)
return true;
else
return false;
}

public void setHasPre(boolean hasPre) {
this.hasPre = hasPre;
}

public boolean isHasNext() {
  if(nowPage!=pageCount)
return true;
else
return false;
}

public void setHasNext(boolean hasNext) {
this.hasNext = hasNext;
}


public boolean isFirst() {
if(nowPage==1)
return true;
else
return false;
}

public void setFirst(boolean isFirst) {
this.isFirst = isFirst;
}

public boolean isLast() {
if(nowPage==pageCount)
return true;
else
return false;
}

public void setLast(boolean isLast) {
this.isLast = isLast;
}

}
28 楼 tsyjswpu 2009-10-30  
说白了,楼主就是一个新手,把这种比较优雅的代码发上来冒充一下高手
27 楼 tsyjswpu 2009-10-30  
javaeye是一个比较高端的java论坛,我们需要的是原创和创新,像楼主这样把别人的程序发布到这里来,却偏偏要说是自己写的,有点可笑,这明明是黎活明老师巴巴运动网里面的程序啊,一点都没有变动啊,你要发别人的程序也应该创新一下吧,比如说修改一下不完美的地方,你这样原封不动的照抄下来没有任何意义。
26 楼 aaa5131421 2009-10-29  
粗略的看了一下,还可以,呵呵,不过根据我看过的尚学堂的oa视频,其实你的这个分页还会有好多需要改进的地方
1、刚才有人说前台分页可以用标签来做,其实已经有现成的标签实现了,pagertaglib, pagertaglib  可以和你后台的hibernate代码完全整合,少去很多重复的jsp代码
2、 firstindex, maxresult这些可以用filter和threadlocal结合使用,将参数从业务层方法中去除,业务方法里面不会出现分页参数这些和业务逻辑无关的东西
~~~具体的不写了,建议大家去看看我说的相关资料哈
25 楼 keer2345 2009-10-29  
weich_1211 写道
I hate hibernate!!!!!


What's your like? Can you share for us?

相关推荐

    失效分析报告模板规整.docx

    本文档提供了一个完整的失效分析报告模板,涵盖了报告的标题、描述、标签、部分内容等方面,旨在帮助读者快速地生成失效分析报告,提高工作效率。 报告标题 失效分析报告的标题是报告的重要组成部分,通常包括项目...

    工业软件,航空航天,新能源汽车+软件失效分析和预防+失效模式分析,危害定级+提供软件鲁棒性,安全性以及预防软件失效

    Software FMEA 软件失效分析内容: 1.软件失效分析介绍: 1.1 软件失效逐年增多, 1.2 SW FEMAs的益处 1.3 软件失效分析中不应该做的事 1.4 共有的软件失效根本原因 2.软件失效分析的准备和输入内容 3.软件失效模式...

    失效模式分析.pptx

    FMEA 报告的内容: 1. 系统/子系统的描述 2. 失效模式的描述 3. 失效效应的描述 4. 严重度等级 5. 失效原因 6. 设备失效发生度 7. 现行预防设计管制 8. 现行检测设计管制 9. 难检度 10. 风险优先数 11. 建议措施 12...

    EOS失效分析原理及方法简述

    "EOS失效分析原理及方法简述" 本文将详细介绍EOS失效分析的原理和方法,旨在帮助读者了解EOS失效分析的整个过程和多种失效分析工具。 EOS失效分析是评估过电应力(EOS)失效的重要过程,旨在找到失效的根本原因,并...

    FMEA教材(潜在失效模式及后果分析)

    潜在失效模式及后果分析: 利用表格方式协助工程师进行工程分析,使其在工程设计早期发现潜在缺陷及其影响...对每一个失效模式,依其严重等级和发生几率综合评估并予以分类,以便确定预防或改正措施的内容和优先顺序。

    JAVA 生成二维码并设置失效机制

    3.通常的二维码都不能满足开发需求,大多数都要设置二维码有效时间来保证安全性,提供2种常见的二维码失效思路,简单易上手 4.提供通过QRCode.jar生成二维码的全部生产线上代码,可直接运行,含有关键注释

    半导体器件失效分析

    主要包括半导体器件失效分析,表面失效机理,体内失效机理,核辐射失效及抗核加固等内容。

    Waxy简约自适应Typecho博客主题

    文章置顶/标星/首图/内容失效提醒/阅读剩余部分 短代码快捷功能(多彩提示框/多彩文字提示/简易提示框/收缩框/快捷插入音频&视频) 置顶公告/CDN切换/代码高亮/时间线/归档页面/Sitemap/技术统计 短代码,短代码可以...

    失效模式与影响分析(FMEA)记录.doc

    在本文档中,我们将详细介绍失效模式与影响分析(FMEA)记录的内容和应用。 失效模式 失效模式是指产品、服务或过程中可能发生的各种故障或失效情况。这些故障可能是由于设计、manufacturing、材料、人为错误、...

    desktop.ini是病毒文件吗?.docx

    "Desktop.ini 文件知识点总结" Desktop.ini 文件是系统可识别的一个文件,其作用是存储用户对文件夹的个性设置,...此外,如果用户删除 desktop.ini 文件,可能会导致文件夹恢复到默认设置,导致用户设置的内容失效。

    最最新淘宝28街美化修改版程序(淘宝达人店铺街源码091225圣诞版)

    http://www.taobaodaren.com/zhuanti/zhuanti_a1.html ,即使以后这个海报的内容失效了,我们可以换其他的海报链接,但是URL还是不变的,减低了对搜索引擎的不好处罚 (6).主页带旺旺和QQ联系方式,方便淘友们和...

    淘宝28最新修改版淘宝达人店铺街09年121月4源码

    http://www.taobaodaren.com/zhuanti/zhuanti_a1.html ,即使以后这个海报的内容失效了,我们可以换其他的海报链接,但是URL还是不变的,减低了对搜索引擎的不好处罚 6.主页带旺旺的联系方式和QQ联系方式,方便...

    PCB与PCBA失效分析及应对措施

    主要内容: 影响PCBA质量的几个主要要素 印制板面临的挑战 PCB及PCBA失效分析流程 PCB及PCBA失效分析技术 PCB及PCBA失效案例及应对措施

    AEC-Q100-基于集成电路应力测试认证的失效机理-G中文版.pdf

    AEC-Q100标准的主要内容包括: 1. 集成电路应力测试认证的失效机理:该部分涵盖了各种集成电路应力测试的失效机理,例如热电效应引起的寄生闸极漏电流测试、机械模式静电放电测试、人体模式静电放电测试等。 2. ...

    Ubuntu10.10网卡配置文件重启失效.docx

    这个文件的内容是由系统自动生成的,因此用户不能直接修改它。相反,用户可以创建/etc/network/interfaces.head或/etc/network/interfaces.tail文件,以便自定义网卡配置。 在网卡配置文件中,pre-up命令用于在网络...

    齿轮失效分析实例(20200515105940).pdf

    机械设计中齿轮失效案例分析 内容 可以学习参考

    旋挖钻机的桅杆失效分析

    旋挖钻机的桅杆失效分析,赵晓龙,,本文以SR150型旋挖钻机桅杆为主要研究内容,根据旋挖钻机桅杆的失效情况,分析了桅杆断裂事故产生的原因,采用三维建模软件Solidworks

    汽车尾门失效分析.pdf

    本资源摘要信息将详细介绍汽车尾门失效分析的相关知识点,包括汽车尾门腐蚀失效的背景介绍、实验分析、耐久试验、经验反馈和改善措施等方面的内容。 背景介绍 汽车尾门腐蚀失效是汽车行业的一大挑战,随着汽车市场...

    设计失效模式及后果分析DFMEA管理程序.docx

    1. 目的:确定与产品相关的设计过程潜在的失效模式,确定设计过程中失效的起因,确定减少失效发生或找出失效条件的过程控制变量,并编制潜在失效模式分级表,为采取预防措施提供对策。 2. 范围:本程序适用于新产品...

    资源下载遇到百度网盘链接失效怎么办?.docx

    解决百度网盘链接失效问题的方法 在资源下载过程中,大家可能都遇到过这样子的问题:好不容易找到了自己需要的下载链接,点进去之后发现是百度网盘的链接,更气人的是链接还是失效的。这种情况下,我们可以使用一些...

Global site tag (gtag.js) - Google Analytics