QBC(Criteria)級聯查詢 投影查詢
多表級聯查詢
下面是原始碼:
public List webQBCfindbyorderone(String Addr) {
// 獲得Criteria物件
Criteria criteria = getCurrentSession().createCriteria(Orders.class,"A");
criteria.createAlias("detailses", "A1",JoinType.LEFT_OUTER_JOIN);
criteria.createAlias("staff","A2",JoinType.LEFT_OUTER_JOIN);
criteria.createAlias("orderstatus", "A3",JoinType.LEFT_OUTER_JOIN);
criteria.createAlias("paystatus", "A4",JoinType.LEFT_OUTER_JOIN);
criteria.createAlias("transportation", "A5" ,JoinType.LEFT_OUTER_JOIN);
criteria.createAlias("merchant", "A6",JoinType.LEFT_OUTER_JOIN);
criteria.createAlias("client", "A7",JoinType.LEFT_OUTER_JOIN);
criteria.createAlias("A7.clientaddrs", "A8",JoinType.LEFT_OUTER_JOIN);
//新增約束條件
if(Addr!=null&&!"" .equals(Addr)){
criteria.add(Restrictions.like("A8.clientaddrAddr", Addr, MatchMode.ANYWHERE));
}
criteria.addOrder(Order.desc("orderOrdertime"));
// 設定投影
criteria.setProjection(Projections.projectionList()
.add(Projections.property("orderId"),"orderId")
.add(Projections.property("orderNo"),"orderNo")
.add(Projections.property("orderName"),"orderName")
.add(Projections.property("orderOrdertime"),"orderOrdertime")
.add(Projections.property("orderRemark"),"orderRemark")
.add(Projections.property("orderOrderprice"),"orderOrderprice")
.add(Projections.property("orderNumber"), "orderNumber")
.add(Projections.property("orderCarriage"),"orderCarriage")
.add(Projections.property("orderMileage"),"orderMileage")
.add(Projections.property("A1.detailsGoodsname"),"detailsGoodsname")
.add(Projections.property("A2.staffName"),"staffName")
.add(Projections.property("A2.staffTel"),"staffTel")
.add(Projections.property("A3.orderstatusOrderstatus"),"orderstatusOrderstatus")
.add(Projections.property("A4.paystatusPaystatus"),"paystatusPaystatus")
.add(Projections.property("A5.transportationstatus"),"transportationstatus")
.add(Projections.property("A5.transportationtime"),"transportationtime")
.add(Projections.property("A6.merchantName"),"merchantName")
.add(Projections.property("A8.clientaddrAddr"),"clientaddrAddr")
.add(Projections.property("A8.clientaddrAddr1"),"clientaddrAddr1"));
// 將多屬性投影查詢對映成一個Map物件
criteria.setResultTransformer(criteria.ALIAS_TO_ENTITY_MAP);
// 多屬性投影查詢時返回的集合的泛型是一個Map
List<Map<String,Object>> orderlist=criteria.list();
return orderlist;
}
相關推薦
QBC(Criteria)級聯查詢 投影查詢
多表級聯查詢 下面是原始碼: public List webQBCfindbyorderone(String Addr) { // 獲得Criteria物件
父子關係表級聯遞迴查詢
select MENU_ID_ from MENU connect by prior MENU_ID_ = PARENT_MENU_ID_ start with MENU_ID_ = ?;select MENU_ID_ from MENU where MENU_STATUS_ = 1 connect by p
[MyBatis]resuletMap/級聯屬性/關聯查詢/association標籤
實體類參考public class Person { private Integer pId; private String pName;//當和表裡的列名不一致的時候,查詢語句應該起別名 //
89-----hibernate的hql查詢,原生SQL查詢,命名查詢,投影查詢
HQL是Hibernate Query Language即Hibernate查詢語言 HQL(Hibernate Query Language)是面向物件的查詢語句 執行HQL語句可以採用兩種方式: list()方法 iterator()方法 HQL語句中繫結引數的形式
使用postgre數據庫實現樹形結構表的子-父級叠代查詢,通過級聯菜單簡單舉例
with 兼容 rep blank 增刪改 結果 關系型 mssq word 前言:開發常用的關系型數據庫MySQL,mssql,postgre,Oracle,簡單的增刪改查的SQL語句都與標準SQL兼容,這個不用講,那麽對於叠代查詢(不嚴格的叫法:遞歸查詢)每種數據庫都不
mybatis級聯查詢,分步查詢和延遲加載
enabled 4.2 res 標簽 mapper last pac mes 方式 級聯查詢: 1.Employee表: id;lastName;email; gender;d_id(外鍵關聯Department的ID) 2.Department表: id;deptNa
Mybatis級聯查詢
username tac 實現 數據 配置 級聯查詢 builder java 3.0 轉自:http://blog.csdn.net/yulei_qq/article/details/22039815 工程的目錄結構: 有兩個表,一個文章表article ,一個用戶表u
jpa @onetomany 級聯查詢時會有重復數據,去重問題
hset 謝謝 好的 .get das net pre hashset campaign 自己是直接查出來然後利用set去重(自己感覺不是太好,不過能達到目的) List<CampaignDashboardDimensionDo> list = query.ge
hibernate的中的查詢與級聯操作
導致 pan 出了 場景 效果 自動保存 情況下 主鍵 只需要 1.Criteria查詢接口適用於組合多個限制條件來搜索一個查詢集。 要使用Criteria,需要遵循以下步驟: *創建查詢接口: Criteria criteria=session.createCrite
Spring Data Jpa 基於註解的級聯查詢
公司最近還是在使用spring data jpa,自己練習時遇到一些坑,記錄一下 首先描述一些業務邏輯: 一共有兩張表,一張學生表,一張公司表,學生與公司屬於一對多的關係,即一個學生只能屬於一個公司,但是一個公司可以擁有多名學生 學生實體類: package com.sj.Entit
【SSH網上商城專案實戰05】完成資料庫的級聯查詢和分頁
轉自:https://blog.csdn.net/eson_15/article/details/51320212 上一節我們完成了EasyUI選單的實現。這一節我們主要來寫一下CategoryServiceImpl實現類,完成資料庫的級聯查詢。一般專案從後往前做,先做se
HQL查A表 A、B兩表級聯,B表查詢條件是C表模糊查詢條件的結果
表單文字要實現模糊查詢,假設表單文字框name為putName ; 假設A表有id欄位和putname 欄位(對應表單putName ),判斷B表關聯C表的objectName欄位(假設關聯欄位為bcLink) 是否和A表的id欄位相同? if (map.get
Mybatis3.1-[tp-30-31]-select_resultMap_關聯查詢_級聯屬性封裝結果__association定義關聯物件封裝規則
筆記要點 出錯分析與總結 在全域性配置中,對映dao包下的全部: <mapper> <package name="com.dao"/> </mappers> 工程組織 1.定義介面 package co
mysql004--關聯查詢,外來鍵的級聯操作,常用內建函式
ascii() --返回字元的sacii碼 char() --檢視ascii碼對應的字元值 concat(var1,var2,var3) --字串拼接 length(str) --返回字元長度 substring(str,start,len) --字串擷取 trim() ltrim()
hibernate級聯查詢執行n+1次sqlt語句問題(內含解決辦法,優化方式)
如果當SQL資料庫中select語句數目過多,就會影響資料庫的效能,如果需要查詢n個Customer物件,那麼必須執行n+1次select查詢語句,下文就將為您講解這個n+1次select查詢問題。 在Session的快取中存放的是相互關聯的物件圖。預設情況下,
Hibernate:級聯查詢
案例:訂單類和訂單項類 級聯查詢時的問題 Lazy=true介紹 查單個時存在問題 Lazy=false介紹 查所有時存在問題 在set裡把lazy=“false”也可以所報的錯(com.zking.four.entity.Ord
hibernate的關聯,一對多(級聯新增,級聯查詢,普通刪除)
一、什麼是關聯(association) 1、關聯指的是類之間的引用關係。如果類A與類B關聯,那麼被引用的類B將被定義為類A的屬性。 2、關聯的分類:關聯可以分為一對一、一對多/多對一、多對多關聯 關聯是有方向的 關聯的關鍵點都在外來鍵上 二、如何建立一對多雙向
一對多(級聯新增,級聯查詢,刪除)
1. 什麼是關聯(association) 1.1 關聯指的是類之間的引用關係。如果類A與類B關聯,那麼被引用的類B將被定義為類A的屬性。例如: public class A{ private B b = new B; publ
hiberbate一對多的級聯新增和級聯查詢與級聯刪除
1. 什麼是關聯(association) 1.1 關聯指的是類之間的引用關係。如果類A與類B關聯,那麼被引用的類B將被定義為類A的屬性。例如: public class A{ private B b = new B; public A(){} } 1.2 關聯
connect by 級聯查詢
1、建表、插入測試資料 create table t_menu(id int,name varchar2(50),parentId int); 2、測試查詢 (1)查詢 以id=1為起始值 及其下所有子孫; select * from t_menu