`
fengfeng925
  • 浏览: 107143 次
  • 性别: 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

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

    电子元器件失效分析

    在描述中提到的“标准分享网***”,虽然这部分内容在文中被重复提及,看似为广告或宣传信息,但从内容分析的角度出发,可以推断该网站可能提供有关电子元器件失效分析的标准、案例分析、技术文档等资源,供专业人士...

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

    软件失效分析的准备和输入内容: 在开始分析之前,需要收集并理解相关的软件设计文档、需求规格、历史故障数据和开发团队的经验。输入可能包括软件架构图、模块描述、接口规范等,这些信息有助于构建全面的失效模式...

    芯片失效分析方法及步骤.pdf

    下面详细介绍这些方法的具体内容和它们的检查内容: SAT分析主要用于检查材料内部结构,包括晶格结构、杂质颗粒、夹杂物、沉淀物等,以及内部裂纹、分层缺陷、空洞、气泡、空隙等缺陷。 X-Ray分析主要应用于不同...

    PCB的CAF测试失效分析案例.pdf

    描述部分“PCB的CAF测试失效分析案例”表明文档的内容主要是对CAF测试中出现的失效案例进行深入分析,旨在找出导致测试不合格的原因,并提出相应的解决或改进措施。 从【标签】可以看出,本文件适用于PCB硬件开发...

    失效模式分析.pptx

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

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

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

    FMEDA 精确的产品失效分析

    - **FMEDA**:作为FMEA的扩展,不仅包括FMEA的全部内容,还加入了对每个部件的定量失效数据分析(如失效率和失效模式分布),以及系统或子系统的自动在线诊断能力评估。 #### FMEDA的发展历程 - **起源与发展**:...

    bonding_die_塑封_DPA_失效分析

    综上所述,这些文件和内容涉及了半导体封装技术的多个层面,从邦定工艺到塑封,再到失效分析,涵盖了LED发光二极管的具体应用和实例。学习和掌握这些知识对于理解和改进电子产品的质量和可靠性至关重要。

    失效激活能快速评价法.pdf

    文章内容与失效激活能评价方法相关,这种评价方法主要应用于评估和理解产品或材料在失效应力作用下性能退化的速率,尤其是在电子行业和可靠性工程中。 为了详细展开这一主题,以下是对失效激活能的深入解读和相关...

    半导体器件失效分析

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

    迅雷快传失效连接下载器

    它会模拟浏览器行为,尝试解析迅雷快传服务器返回的网页内容,找出隐藏的下载地址。此外,它可能还会检测并处理各种验证码或登录验证,以便于访问到受保护的文件。这通常需要对网页的HTML结构、JavaScript代码以及...

    据三维Hashin失效准则和Chang-Chang退化准则.zip

    在IT行业中,尤其是在材料科学和工程计算领域,三维Hashin失效准则和Chang-Chang退化准则具有重要的...同时,这些准则也是材料科学研究和工程教育的重要内容,对于推动新材料的开发和已有材料性能的优化起到关键作用。

    基于应变和应力的Vumat子程序_hashin失效准则_动态应变_拉伸失效_hashin_vumat

    标题中的"基于应变和应力的Vumat子程序_hashin失效准则_动态应变_拉伸失效_hashin_vumat"揭示了本压缩包文件的核心内容,即利用Hashin失效准则来判断复合材料在动态应变下的拉伸失效情况,并通过Vumat子程序进行模拟...

    EOS验证与失效分析

    可依照元件规格製作 ATE 测试治具及测试程序(测试内容包含 Open,Short,IC Diode&VCC,Boundary Scan 或 XOR Tree 之量测),如同使用 Curve Tracer 判斷是否为 EOS 之相同原理,取得该元件之 DC 特性參數藉以...

    材料失效分析(破解)借鉴.pdf

    失效分析的具体内容包括但不限于断口学研究,这涉及对失效零件断裂表面的宏观和微观观察。断裂表面的特征,如断口的平整度、形貌、色泽等,均是分析断裂类型和失效原因的关键因素。同时,断口学的研究也与材料学紧密...

    Waxy简约自适应Typecho博客主题

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

    资料-失效效应危害度一览表.zip

    失效效应的危害度一览表可能会涵盖以下内容: - 故障模式:详述每种可能的失效表现,如软件崩溃、硬件过热、通信中断等。 - 影响程度:描述失效对系统整体性能和安全性的具体影响,例如数据丢失、服务中断、人员...

Global site tag (gtag.js) - Google Analytics