當前位置:首頁 » 編程語言 » hibernate執行sql語句

hibernate執行sql語句

發布時間: 2023-12-18 22:24:31

A. 在hibernate運用sql查詢

給你一個我寫的例歷孝子:
public
List<Statistics>
statistics(){
String
sql="select
"+
"sum(case
when
(t.type_code=3)
then
1
else
0
end),"+
"sum(case
when
(t.type_code=5)
then
1
else
0
end),"+
"sum(case
when
(t.type_code=8)
then
1
else
0
end),"+
"sum(case
when
(t.type_code=0)
then
1
else
0
end),"+
"sum(case
when
(t.type_code=6)
then
1
else
0
end),"+
"sum(case
when
(t.type_code=9)
then
1
else
0
end),"陸爛並+
"count(*)"+
"from
cs_cust_complaint_data
t
where
t.from_flag='2'";
List<Statistics>
stal
=
new
ArrayList<Statistics>();
SQLQuery
query
=
getSession().createSQLQuery(sql);
Object[]
obj
=
(Object[])query.uniqueResult();
BigDecimal
b0
=
(BigDecimal)obj[0];
BigDecimal
b1
=
(BigDecimal)obj[1];
BigDecimal
b2
=
(BigDecimal)obj[2];
BigDecimal
b3
=
(BigDecimal)obj[3];
BigDecimal
b4
=
(BigDecimal)obj[4];
BigDecimal
b5
=
(BigDecimal)obj[5];
BigDecimal
b6
=
(BigDecimal)obj[6];
Double
zs
=
b6.doubleValue();
DecimalFormat
df=new
DecimalFormat("#.00");
stal.add(new
Statistics("卷煙營銷",
b0.longValue(),Double.parseDouble(df.format(b0.doubleValue()/早跡zs*100))));
stal.add(new
Statistics("專賣法規",
b1.longValue(),Double.parseDouble(df.format(b1.doubleValue()/zs*100))));
stal.add(new
Statistics("煙葉生產",
b2.longValue(),Double.parseDouble(df.format(b2.doubleValue()/zs*100))));
stal.add(new
Statistics("政風行風",
b3.longValue(),Double.parseDouble(df.format(b3.doubleValue()/zs*100))));
stal.add(new
Statistics("人事勞資",
b4.longValue(),Double.parseDouble(df.format(b4.doubleValue()/zs*100))));
stal.add(new
Statistics("其他咨詢",
b5.longValue(),Double.parseDouble(df.format(b5.doubleValue()/zs*100))));
return
stal;
}

B. hibernate如何執行原生sql插入 即用hibernate執行insert into table values();

首先幫你要知道,有很多技術框架可以的。就說通過通過hibernate的ORM吧。
寫個POJO類,再調用它的對象,PO;
創建session對象,
Session s=HibernateSessionFactory.getSession();
s.save(PO);
Transaction tx=s.beginTransaction();
tx.commit();

C. 怎樣在hibernate中用sql做insert,萬分感謝我快瘋掉了!!!

算你走運了。我三天前遇上了這個情況,不過我自己瞎弄解決了。下面是代碼。
public void insertBySql(final String sql,final Object[] values)
{
List list= (List)getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException{
Query query= session.createSQLQuery(sql);
for (int i = 0 ; i < values.length ; i++)
{
query.setParameter( i, values[i]);
}
query.executeUpdate();
Object o=null;
return o;
}
}
);
}

public void saveModerator(Long usId,String kindId,Long roleId)
{
String sql="insert into bbs.t_moderator(us_id,kind_id,role_id) values(?,?,?)";
Object[] o={usId,kindId,roleId};
insertBySql(sql,o);
}

D. hibernate 執行sql語句出現queryException

你使用的是什麼資料庫啊?oracle中你select後面的在group by中必須全部寫上,否則報錯。但是mysql好像不會有問題。也就是說這樣
select t.mainorgan,t.dsffdate,sum(t.amount) as amount,sum(t.totalamt) as totalamt,sum(t.totalcnt) as totalcnt,sum(t.amount1) as amount1 from DSFF_FEE t where t.organid=0100100014 group by t.mainorgan,t.dsffdate,amount,totalamt,totalcnt,amount1 order by t.dsffdate desc

這樣你在試試

E. nhibernate 怎麼寫sql語句啊 急

nhibernate 怎麼寫sql語句啊 急

NHibernate 檢視生成的sql語句:
其實就是Interceptor的應用, 原始碼中Interceptor的預設實現是EmptyInterceptor,
[Serializable]
public class EmptyInterceptor : IInterceptor
{ 前面省略n行程式碼
public SqlString OnPrepareStatement(SqlString sql)
{
return sql;
}
} public class MyInterceptor : EmptyInterceptor
{
public override NHibernate.SqlCommand.SqlString OnPrepareStatement(NHibernate.SqlCommand.SqlString sql)
{
return base.OnPrepareStatement(sql);
}
} 我們要做的就是繼承EmptyInterceptor,重寫OnPrepareStatement()方法,重寫方法裡面就是你大展拳腳的地方了,
想寫檔案寫檔案,想輸出到頁面就輸出到頁面,什麼都不做都可以,如上
怎麼用呢?
public override void Update(Admin entity)
{
ISession session = HibernateTemplate.SessionFactory.OpenSession(new MyIntercepotr);
session.Update(entity);
session.Flush();
}
在你想要檢視的操作中,開啟session 的時候新增上自定義的攔截器就可以了,想給所有的操作都配置的話就要用到全域性配置檔案了。
重寫OnPrepareStatement()的時候一句話都不改,我只是在這里打一個斷點而已,只要看看生成的sql語句就行了,然後去修改配置檔案再來debug,確認怎麼配置生產的sql最優。
用LinqPad檢視Nhibernate生成的sql語句
使用Nhibernate開發一般都要對Nhibernate生成的sql語句進行檢視及分析,檢視Nhibernate生成的sql語句,可以使用NHProfiler和log4。但NHProfiler是要付費的(當然,在天朝,你懂的……),用log4配置比較麻煩。今天在網上檢視Linq to Nhibernate資料的時候發現了一個工具LinqPad,於是又找了相關資源,發現它還真能實現Nhibenate語句的檢視。廢話少說,看下面的使用方法吧!
1、 下載LinqPad,地址::linqpad./
2、 配置LinqPad,執行LinqPad,在選單里選擇Query—>Query Propeties;在選項卡中Additional References,點選「Browse…」按鈕,選擇專案中必要的Dll。
Dll包括:資料庫驅動dll,實體對映dll(圖中的Entity),nhibernate相關的dll

如何播放藍光碟?急!

要藍光播放器啊
tmt
powerdvd
aurora blu-ray player
隨便弄個破解的就成
你要是不切換字幕音訊啥的,就BDMV 檔案里邊,找最大的.m2ts 的檔案

急,女朋友讓猜迷語呢!!

名字,結婚後,女人是不會用男人的名字的,也不對。
只有男人的姓氏,才是正確答案,理由如下:
1、東方女人在結婚後,人會稱其「某太太」,這個「某」就是老公的姓氏。
西方女人在結婚後,就會將姓改為和老公一樣。
2、長度上,東方的姓氏通常只有一個字,而西方姓氏卻是一串字母,比東方的長。
3、男人當和尚後,只有法號,沒有姓名,所以不用。

小金毛拉肚子··急

是吃撐的拉肚子就給他吃些健胃消食的葯
要是吃壞肚子了就給它喝一支慶大黴素的注射液

關於基金定投---急!

用身份證登陸登陸你買的基金的基金公司網站
密碼是你的身份證後6位數字。。
登陸進去後,就可以查到您所想知道的資訊了!
還有一種方式是你去銀行櫃台列印基金對賬單,上面也會有你想知道的資訊!

急!化學,SO2的制備

應該該不會產生H2,可以用排NaOH溶液的方法收集,再點燃收集到的氣體看看是不是H2。但估計正常情況下,收集不到氣體。

寫一個小片段~~~急

今天舉行同事聚餐,公司幾個美女打扮的千姿百態,在這個風和日麗的天氣里,一起去「全聚德」烤鴨店撮了一頓,大家都對那烤鴨贊不絕口,一邊津津有味的吃,一邊興致勃勃的侃大山,公司的美女真是多,鶯鶯燕燕坐滿一屋芳菲,真是百花盛開呀!

數學題,求解答,急啊

我敢打賭 你上課沒認真聽
4:sin(2x+π/2)=cos2x,這是三角函式的誘導公式 書上有 y=cos2x是偶函式 這種東西你畫個圖就容易理解了!
5:設a=(i,j) b=(x,y) 若ab, i/x=j/y
6:a·b=|a|*|b|cos<a,b> 這是公式 推導過程 自己看書
7:橫座標伸長2倍 就是擴大2倍 那麼就是用1/2x替換以前的x 就行了!這個還是要根據自己畫圖來理解!
8:[π/2,π]之間 就確定了cosΘ的正負 在[π/2,π]之間 cosΘ為負數,至於你後面那個式子
是根據二倍角公式 推導而來的
這是二倍角公式的其中一個
cos2α=cos²α-sin²α
=1-2sin²α
=2cos²α-1
上式中 可以找到你要的依據!
不過你字還算可以!

usewildcards是什麼意思,急!

Use Wildcards
使用萬用字元;
Use Wildcards
使用萬用字元;
Use Wildcards
使用萬用字元;

布滿造句長一點,急!

因為要搶救傷員,軍醫在手術室里忙了幾天幾夜,眼睛布滿了血絲,讓人既心疼又感動。
滿意請採納!謝謝!

熱點內容
安卓手機怎麼下符文之地 發布:2024-11-30 14:49:28 瀏覽:877
安卓ota在哪裡打開 發布:2024-11-30 14:46:55 瀏覽:101
mapreduce演算法 發布:2024-11-30 14:46:50 瀏覽:15
python的shell 發布:2024-11-30 14:46:49 瀏覽:729
變頻器什麼時候配置電抗器 發布:2024-11-30 14:46:37 瀏覽:699
官方版我的世界登錄網易伺服器 發布:2024-11-30 14:38:37 瀏覽:112
安卓手機沒電會出現什麼問題 發布:2024-11-30 14:37:31 瀏覽:983
unity3d加密dll 發布:2024-11-30 14:36:40 瀏覽:25
蘋果手機在哪裡可以置換安卓 發布:2024-11-30 14:36:34 瀏覽:468
php函數參數的傳遞參數 發布:2024-11-30 14:32:00 瀏覽:504