hibernate的三种查询
2015-09-08 12:37
211 查看
项目中的方便查阅
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();
}
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();
}
相关文章推荐
- 在高德地图应用api,和api展出的标记小的应用程序
- 管道符
- OSChina上部署项目 — iOS
- Linux命令学习(三)-配置有线网卡ip地址
- Beego环境搭建和bee工具安装使
- python和ruby语法的简单对比
- PowerDesigner中name与comment互相转换脚本
- 设计模式-六大原则
- 【Android报错之一】finished with non-zero exit value 2
- lintcode-有多少个点在同一条直线上-186
- JBPM具体应用之decision节点的使用
- TortoiseGit 不用每次输入用户名和密码的方法
- java基础:位运算用法测试代码
- Android中级教程之----Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
- 有限责任公司股权激励范例:股权期权协议书
- unity5 动画系统Mecanim事件快速入门 区分animation和animator不再混淆
- android getActionBar()报空指针异常
- kafka的一些认识
- Vijos 1943 上学路上 容斥+组合数+逆元法
- 数据库存储引擎