项目中的方便查阅
1)Criteria查询接口
public UserModel getUserByLoginName(String loginName) {
Criteria criteria = this.getSession().createCriteria(UserModel.class);
criteria.add(Restrictions.eq("userName",StringUtil
.toString(loginName)));
//criteria.addOrder(Order.desc("userName"));排序
List list = criteria.list();
if (list != null && list.size()> 0) {
return (UserModel)list.get(0);
}else{
return null;
}
}
2)hql语句查询
public List<RoleModel> getPersonalRoleById(Integer id)
{
String hql = "from RoleUserModel a where a.userId="+id;
Query query = this.getSession().createQuery(hql);
List<RoleUserModel> roleuserList = query.list();
List<RoleModel> returnList = new ArrayList<RoleModel>();
for(RoleUserModel a:roleuserList){
String hql1 = "from RoleModel a where a.roleId="+ a.getRoleId();
Query query1 = this.getSession().createQuery(hql1);
returnList.add((RoleModel)query1.list().get(0));
}
return returnList;
}
3)原生SQL查询
public DeptModel getDeptByUserid(int userid) {
String sql = "select DEPTNO, DEPTCODE, DEPTNAME, STATUS, ORDERNO, PARENTNO from dept t " +
"where t.deptnoin (select du.deptno from deptuser du where du.user_id="+userid+")";
List<Map<String, Object>> list = this.findObjectListMapBySql(sql);
DeptModel dept = null;
if(list != null && list.size() > 0){
dept = new DeptModel();
Map<String, Object> deptMap = (Map<String,Object>) list.get(0);
dept.setDeptNo(NumberUtil.toInt((BigDecimal)deptMap.get("DEPTNO")));
dept.setDeptCode(deptMap.get("DEPTCODE").toString());
dept.setDeptName(deptMap.get("DEPTNAME").toString());
return dept;
}else{
return dept;
}
}
public List<Map<String, Object>> findObjectListMapBySql(String sql){
SQLQuery sqlQuery=(SQLQuery) getSession().createSQLQuery(sql.toUpperCase()).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
return sqlQuery.list();
}