1. 程式人生 > >QBC(Criteria)級聯查詢 投影查詢

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