hibernate 常用总结

【1】 获取记录条数

	public Long getCount() {
		Session session = getSession() ;
		Criteria criteria = session.createCriteria(WebSiteEntity.class) ;
		criteria.setProjection(Projections.rowCount()) ;
		Long count = (Long) criteria.uniqueResult() ;
		return count ;
	}

【2】分页

public List<WebSiteEntity> getWebSiteList(int pageNumber, int pagePreNumber) {
		Session session = getSession() ;
	    Criteria criteria = session.createCriteria(WebSiteEntity.class) ;
	    criteria.setFirstResult((pageNumber - 1) * pagePreNumber) ;
	    criteria.setMaxResults(pagePreNumber) ;
	    List<WebSiteEntity> ret =  criteria.list() ;
 		return  ret ;
	}

【3】Transformers.ALIAS_TO_ENTITY_MAP

public List<Map<String, String>> getWebSiteList() {
		Session session = getSession() ;
		StringBuffer sql = new StringBuffer() ;
		sql.append("select * from website") ;
		Query query = session.createSQLQuery(sql.toString()) 
				             .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP) ; 
		List<Map<String , String>> ret = query.list() ;
		return ret  ;
	}
Map的key为列名

【4】  

List<Map<String, String>> 

public List<Map<String, String>> getMlist() {
		Session session = getSession() ;
		String sql = "select id  as ids , web_name  as web_names , web_url as web_urls from website where update_time = :updated " ;
		Query query = null;
		try {
			query = session.createSQLQuery(sql) 
			              .addScalar("ids",  StandardBasicTypes.STRING) 
			              .addScalar("web_names",  StandardBasicTypes.STRING)  
			              .addScalar("web_urls",  StandardBasicTypes.STRING)  
			              .setDate("updated" , DateUtil.parse("2016-07-05") ) 
			              .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
		} catch (ParseException e) {
		}
		return query.list() ;
	}
        @Override
	public List<Map<String, String>> getMlist() {
		Session session = getSession() ;
		String sql = "select id  ids , web_name  web_names , web_url  web_urls from website where update_time = :updated " ;
		Query query  = session.createSQLQuery(sql) 
		              .addScalar("ids",  StandardBasicTypes.STRING) 
		              .addScalar("web_names",  StandardBasicTypes.STRING)  
		              .addScalar("web_urls",  StandardBasicTypes.STRING)  
		              .setString("updated", "2016-07-05") 
		              .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)  ;
		return query.list() ;
	}

	public List<Map<String, String>> getMlist() {
		Session session = getSession() ;
		String sql = "select id , web_name , web_url from website where update_time = :update_time " ;
		Query query  = session.createSQLQuery(sql) 
		              .addScalar("id",  StandardBasicTypes.STRING) 
		              .addScalar("web_name",  StandardBasicTypes.STRING)  
		              .addScalar("web_url",  StandardBasicTypes.STRING)  
		              .setString("update_time", "2016-07-05") 
		              .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)  ;
		return query.list() ;
	}


	public List<Map<String, String>> getWebSites(Integer id) {
		Session session = getSession() ;
		String sql = "select  *  from website where id = :id "  ;
		List<Map<String, String>> res =  session.createSQLQuery(sql).setInteger("id" , id).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list() ;
		return res  ;
	}


【5】查询单条记录

@Override
	public WebSiteEntity getWebSite(Long id) {
		Session session = getSession() ;
		WebSiteEntity entity = (WebSiteEntity)session.createCriteria(WebSiteEntity.class)
													 .add(Restrictions.eq("id" , id))
													 .setMaxResults(1)
				                                     .uniqueResult() ;
		return entity ;
	}

【6】单条记录单字段

	@Override
	public String getWebSiteName(Long id) {
		Session session = getSession() ;
		String sql = "select  web_name from website where id = :id "  ;
		String res = (String) session.createSQLQuery(sql).setLong("id" , id).uniqueResult() ;
		return res  ;
	}

【7】获取list

@Override
	public List<Integer> getIds() {
		Session session = getSession()  ;
		String sql = "select id from website" ;
		List<Integer> res = session.createSQLQuery(sql).list() ;
		return res ;
	}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值