锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 聽 聽
鍒嗛〉鏀寔綾伙細
import聽java.util.List;聽
public聽class聽PaginationSupport聽{聽
聽聽聽聽聽聽聽聽public聽final聽static聽int聽PAGESIZE聽=聽30;聽
聽聽聽聽聽聽聽聽private聽int聽pageSize聽=聽PAGESIZE;聽
聽聽聽聽聽聽聽聽private聽List聽items;聽
聽聽聽聽聽聽聽聽private聽int聽totalCount;聽
聽聽聽聽聽聽聽聽private聽int[]聽indexes聽=聽new聽int[0];聽
聽聽聽聽聽聽聽聽private聽int聽startIndex聽=聽0;聽
聽聽聽聽聽聽聽聽public聽PaginationSupport(List聽items,聽int聽totalCount)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setPageSize(PAGESIZE);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setTotalCount(totalCount);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setItems(items);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setStartIndex(0);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽PaginationSupport(List聽items,聽int聽totalCount,聽int聽startIndex)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setPageSize(PAGESIZE);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setTotalCount(totalCount);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setItems(items);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setStartIndex(startIndex);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽PaginationSupport(List聽items,聽int聽totalCount,聽int聽pageSize,聽int聽startIndex)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setPageSize(pageSize);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setTotalCount(totalCount);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setItems(items);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽setStartIndex(startIndex);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽List聽getItems()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽items;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽setItems(List聽items)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.items聽=聽items;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽int聽getPageSize()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽pageSize;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽setPageSize(int聽pageSize)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.pageSize聽=聽pageSize;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽int聽getTotalCount()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽totalCount;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽setTotalCount(int聽totalCount)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(totalCount聽>聽0)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.totalCount聽=聽totalCount;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽int聽count聽=聽totalCount聽/聽pageSize;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(totalCount聽%聽pageSize聽>聽0)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽count++;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽indexes聽=聽new聽int[count];聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽for聽(int聽i聽=聽0;聽i聽<聽count;聽i++)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽indexes[i]聽=聽pageSize聽*聽i;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽else聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.totalCount聽=聽0;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽int[]聽getIndexes()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽indexes;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽setIndexes(int[]聽indexes)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.indexes聽=聽indexes;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽int聽getStartIndex()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽startIndex;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽setStartIndex(int聽startIndex)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(totalCount聽<=聽0)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.startIndex聽=聽0;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽else聽if聽(startIndex聽>=聽totalCount)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.startIndex聽=聽indexes[indexes.length聽-聽1];聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽else聽if聽(startIndex聽<聽0)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.startIndex聽=聽0;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽else聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.startIndex聽=聽indexes[startIndex聽/聽pageSize];聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽int聽getNextIndex()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽int聽nextIndex聽=聽getStartIndex()聽+聽pageSize;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(nextIndex聽>=聽totalCount)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽getStartIndex();聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽else聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽nextIndex;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽int聽getPreviousIndex()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽int聽previousIndex聽=聽getStartIndex()聽-聽pageSize;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(previousIndex聽<聽0)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽0;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽else聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽previousIndex;聽
聽聽聽聽聽聽聽聽}聽
}
鎶借薄涓氬姟綾?java浠g爜:聽
*聽Created聽on聽2005-7-12聽
*/聽
package聽com.javaeye.common.business;聽
import聽java.io.Serializable;聽
import聽java.util.List;聽
import聽org.hibernate.Criteria;聽
import聽org.hibernate.HibernateException;聽
import聽org.hibernate.Session;聽
import聽org.hibernate.criterion.DetachedCriteria;聽
import聽org.hibernate.criterion.Projections;聽
import聽org.springframework.orm.hibernate3.HibernateCallback;聽
import聽org.springframework.orm.hibernate3.support.HibernateDaoSupport;聽
import聽com.javaeye.common.util.PaginationSupport;聽
public聽abstract聽class聽AbstractManager聽extends聽HibernateDaoSupport聽{聽
聽聽聽聽聽聽聽聽private聽boolean聽cacheQueries聽=聽false;聽
聽聽聽聽聽聽聽聽private聽String聽queryCacheRegion;聽
聽聽聽聽聽聽聽聽public聽void聽setCacheQueries(boolean聽cacheQueries)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.cacheQueries聽=聽cacheQueries;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽setQueryCacheRegion(String聽queryCacheRegion)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽this.queryCacheRegion聽=聽queryCacheRegion;聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽save(final聽Object聽entity)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽getHibernateTemplate().save(entity);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽persist(final聽Object聽entity)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽getHibernateTemplate().save(entity);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽update(final聽Object聽entity)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽getHibernateTemplate().update(entity);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽void聽delete(final聽Object聽entity)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽getHibernateTemplate().delete(entity);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽Object聽load(final聽Class聽entity,聽final聽Serializable聽id)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽getHibernateTemplate().load(entity,聽id);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽Object聽get(final聽Class聽entity,聽final聽Serializable聽id)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽getHibernateTemplate().get(entity,聽id);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽List聽findAll(final聽Class聽entity)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽getHibernateTemplate().find("from聽"聽+聽entity.getName());聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽List聽findByNamedQuery(final聽String聽namedQuery)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽getHibernateTemplate().findByNamedQuery(namedQuery);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽List聽findByNamedQuery(final聽String聽query,聽final聽Object聽parameter)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽getHibernateTemplate().findByNamedQuery(query,聽parameter);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽List聽findByNamedQuery(final聽String聽query,聽final聽Object[]聽parameters)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽getHibernateTemplate().findByNamedQuery(query,聽parameters);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽List聽find(final聽String聽query)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽getHibernateTemplate().find(query);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽List聽find(final聽String聽query,聽final聽Object聽parameter)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽getHibernateTemplate().find(query,聽parameter);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽PaginationSupport聽findPageByCriteria(final聽DetachedCriteria聽detachedCriteria)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽findPageByCriteria(detachedCriteria,聽PaginationSupport.PAGESIZE,聽0);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽PaginationSupport聽findPageByCriteria(final聽DetachedCriteria聽detachedCriteria,聽final聽int聽startIndex)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽findPageByCriteria(detachedCriteria,聽PaginationSupport.PAGESIZE,聽startIndex);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽PaginationSupport聽findPageByCriteria(final聽DetachedCriteria聽detachedCriteria,聽final聽int聽pageSize,聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽final聽int聽startIndex)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽(PaginationSupport)聽getHibernateTemplate().execute(new聽HibernateCallback()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽public聽Object聽doInHibernate(Session聽session)聽throws聽HibernateException聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Criteria聽criteria聽=聽detachedCriteria.getExecutableCriteria(session);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽int聽totalCount聽=聽((Integer)聽criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽criteria.setProjection(null);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽List聽items聽=聽criteria.setFirstResult(startIndex).setMaxResults(pageSize).list();聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽PaginationSupport聽ps聽=聽new聽PaginationSupport(items,聽totalCount,聽pageSize,聽startIndex);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽ps;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽},聽true);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽List聽findAllByCriteria(final聽DetachedCriteria聽detachedCriteria)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽(List)聽getHibernateTemplate().execute(new聽HibernateCallback()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽public聽Object聽doInHibernate(Session聽session)聽throws聽HibernateException聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Criteria聽criteria聽=聽detachedCriteria.getExecutableCriteria(session);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽criteria.list();聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽},聽true);聽
聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽public聽int聽getCountByCriteria(final聽DetachedCriteria聽detachedCriteria)聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Integer聽count聽=聽(Integer)聽getHibernateTemplate().execute(new聽HibernateCallback()聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽public聽Object聽doInHibernate(Session聽session)聽throws聽HibernateException聽{聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Criteria聽criteria聽=聽detachedCriteria.getExecutableCriteria(session);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽criteria.setProjection(Projections.rowCount()).uniqueResult();聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽},聽true);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽count.intValue();聽
聽聽聽聽聽聽聽聽}聽
}聽
ps.getItems()寰楀埌宸插垎欏靛ソ鐨勭粨鏋滈泦
ps.getIndexes()寰楀埌鍒嗛〉绱㈠紩鐨勬暟緇?
ps.getTotalCount()寰楀埌鎬葷粨鏋滄暟
ps.getStartIndex()褰撳墠鍒嗛〉绱㈠紩
ps.getNextIndex()涓嬩竴欏電儲寮?
ps.getPreviousIndex()涓婁竴欏電儲寮?
<!
DOCTYPE聽hibernate-mapping聽PUBLIC
聽"-//Hibernate/Hibernate聽Mapping聽DTD聽3.0//EN"
聽"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<
hibernate-mapping
>
聽聽
<
class聽
name
="Tuser"
聽table
="T_User"
>
聽聽聽聽
<
id聽
name
="id"
聽column
="id"
聽type
="java.lang.Integer"
>
聽聽聽聽聽聽
<
generator聽
class
="native"
/>
聽聽聽聽
</
id
>
聽聽聽聽
<
property聽
name
="name"
聽column
="name"
聽type
="java.lang.String"
/>
聽聽聽聽
<!--
<property聽name="age"聽column="age"聽type="java.lang.Integer"/>
-->
聽聽聽聽
<!--
<property聽name="email"聽column="email"聽type="EMailList"/>
-->
聽聽聽聽
<!--
<property聽name="image"聽column="image"聽type="java.sql.Blob"/>
-->
聽聽聽聽
<
property聽
name
="resume"
聽column
="resume"
聽type
="clob"
/>
聽聽
</
class
>
</
hibernate-mapping
>
寰╁悎涓婚嵉
<!DOCTYPE聽hibernate-mapping聽PUBLIC
聽"-//Hibernate/Hibernate聽Mapping聽DTD聽3.0//EN"
聽"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<hibernate-mapping>
聽聽<class聽name="TUser2"聽table="T_User2">
聽聽聽聽<composite-id聽name="userPk"聽class="TUserPk">
聽聽聽聽聽聽<key-property聽name="firstName"聽column="firstname"聽type="java.lang.String"/>
聽聽聽聽聽聽<key-property聽name="lastName"聽column="lastname"聽type="java.lang.String"/>
聽聽聽聽</composite-id>
聽聽聽聽<property聽name="age"聽column="age"聽type="java.lang.Integer"/>聽聽聽聽
聽聽</class>
</hibernate-mapping>
DISCRIMINATOR
<!DOCTYPE聽hibernate-mapping聽PUBLIC
聽"-//Hibernate/Hibernate聽Mapping聽DTD聽3.0//EN"
聽"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<hibernate-mapping>
聽聽<class聽name="TItem"聽table="T_Item">
聽聽聽聽<id聽name="id"聽column="id">
聽聽聽聽聽聽<generator聽class="native"/>
聽聽聽聽</id>
聽聽聽聽<discriminator聽column="category"聽type="java.lang.String"/>
聽聽聽聽<property聽name="manufacturer"聽column="manufacturer"/>
聽聽聽聽<property聽name="name"聽column="name"/>聽聽聽聽
聽聽聽聽<subclass聽name="TBook"聽discriminator-value="1">
聽聽聽聽聽聽<property聽name="pageCount"聽column="pagecount"/>
聽聽聽聽</subclass>
聽聽聽聽<subclass聽name="TDVD"聽discriminator-value="2">
聽聽聽聽聽聽<property聽name="regionCode"聽column="regionCode"/>
聽聽聽聽</subclass>
聽聽</class>
</hibernate-mapping>
聽聽聽聽"-//Hibernate/Hibernate聽Configuration聽DTD聽3.0//EN"
聽聽聽聽"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<
hibernate-configuration
>
聽聽
<
session-factory
>
聽聽聽聽
<
property聽
name
="hibernate.connection.url"
>
聽聽聽聽聽聽聽jdbc:Microsoft:sqlserver://192.168.10.236:1433;databaseName=Sample
聽聽聽聽
</
property
>
聽聽聽聽
<
property聽
name
="hibernate.connection.driver_class"
>
聽聽聽聽聽聽聽com.microsoft.jdbc.sqlserver.SQLServerDriver
聽聽聽聽
</
property
>
聽聽聽聽
<
property聽
name
="hibernate.connection.username"
>
聽聽聽聽聽聽聽sa
聽聽聽聽
</
property
>
聽聽聽聽
<
property聽
name
="hibernate.connection.password"
>
聽聽聽聽聽聽聽55
聽聽聽聽
</
property
>
聽聽聽聽
<
property聽
name
="dialect"
>
聽聽聽聽聽聽聽org.hibernate.dialect.SQLServerDialect
聽聽聽聽
</
property
>
聽聽聽聽
<
property聽
name
="hibernate.show_sql"
>
聽聽聽聽聽聽聽true
聽聽聽聽
</
property
>
聽聽聽聽
<
property聽
name
="hibernate.transaction.factory_class"
>
聽聽聽聽聽聽聽org.hibernate.transaction.JDBCTransactionFactory
聽聽聽聽
</
property
>
聽聽聽聽
<
mapping聽
resource
="TItem.hbm.xml"
/>
聽聽聽聽
聽聽
</
session-factory
>
</
hibernate-configuration
>
// 鏂板鍚嶇偤"Emma"鐨勭敤鎴惰閷?br />Tuser user = new Tuser();
user.setName("Emma");
session.save(user);
Get
// 鍋囪ōT_User琛ㄤ腑瀛樺湪ID = 1鐨勮閷?br />Tuser user = (Tuser)session.get(Tuser.class, new Integer(1));
Delete
// 鍋囪ōT_User琛ㄤ腑瀛樺湪ID = 1鐨勮閷?br />Tuser user = (Tuser)session.get(Tuser.class, new Integer(1));
session.delete(user);
// 涔熷彲浠ラ氶亷HQL鎸囧畾鍒櫎姊濅歡
Session.delete(" from Tuser where id = 1");
// 閫氶亷Query鎺ュ彛閫叉柤鍩烘柤HQL鐨勫埅闄ゆ搷浣?br />Stirng hql = "delete Tuser where id = 1";
Query query = session.createQuery(hql);
query.executeUpdate();
Find
// 閫氶亷Query鎺ュ彛閫茶鏁告摎鏌ヨ
String hql="from Tuser user where user.name like ?";
Query query = session.createQuery(hql);
query.setParameter(0, "Cartier");
List list = query.list();
Iterator it = list.iterator();
while(it.hasNext()){
聽 Tuser user = (Tuser)it.next();
聽 System.out.println(user.getName());
}
// 閫氶亷Criteria鎺ュ彛閫茶鏁告摎鏌ヨ
Criteria criteria = session.createCriteria(Tuser.class);
criteria.add(Expression.eq("name","Cariter"));
List list = criteria.list();
Iterator it = list.iterator();
while(it.hasNext()){
聽 Tuser user = (Tuser)it.next();
聽 System.out.println(user.getName());
}