先说说最早基于hibernate的时候的开发把:
一般情况下使用的hql语言,当然了,很多同事和我一样喜欢使用sql语言,这就产生了如下的获取数据的方法
/**
String sql = "select registerAddress,0,count(*) as count from UserAddress where createdate >= '"+startdate+"' and createdate <= '"+enddate+"' group by registerAddress";
SQLQuery query = hibernateTemplate.getSessionProvider().getSession().createSQLQuery(sql);
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
return query.list();
**/
当然了,返回的肯定是list,通过setResultTransformer,将别名转换为一个新的实体map,就这么简单,当然了,以前我是专门写一个基础类,在里面有个
/**
public List<Map<String,Object>> findBySql(String sql)
{
Assert.hasText(sql);
Query query = getSession().createSQLQuery(sql);
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List list = query.list();
return list;
}
**/
只需要直接把sql放进去就可以了。
然后就是汉字,从查询的时候你可有能会遇到汉字,判读是否含有汉字,目前我知道的办法是使用ascii中进行判断
select * from user where (((ascii(uname)>=97) and (ascii(uname)<=122)) or ((ascii(uname)>=65) and (ascii(uname)<=90)))
一般情况下使用的hql语言,当然了,很多同事和我一样喜欢使用sql语言,这就产生了如下的获取数据的方法
/**
String sql = "select registerAddress,0,count(*) as count from UserAddress where createdate >= '"+startdate+"' and createdate <= '"+enddate+"' group by registerAddress";
SQLQuery query = hibernateTemplate.getSessionProvider().getSession().createSQLQuery(sql);
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
return query.list();
**/
当然了,返回的肯定是list,通过setResultTransformer,将别名转换为一个新的实体map,就这么简单,当然了,以前我是专门写一个基础类,在里面有个
/**
public List<Map<String,Object>> findBySql(String sql)
{
Assert.hasText(sql);
Query query = getSession().createSQLQuery(sql);
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List list = query.list();
return list;
}
**/
只需要直接把sql放进去就可以了。
然后就是汉字,从查询的时候你可有能会遇到汉字,判读是否含有汉字,目前我知道的办法是使用ascii中进行判断
select * from user where (((ascii(uname)>=97) and (ascii(uname)<=122)) or ((ascii(uname)>=65) and (ascii(uname)<=90)))