hibernate的sql查詢
1. ssh使用hibernate進行sql查詢問題
as col_0_0_這是hibernate內部框架實現,也就是hibernate.dialect。他會把你hql轉換sql,主要是根據不同資料庫做變化,省去你修改的麻煩。
List<Score_detail> sdList = (List<Score_detail>) getSession().createQuery(hql).list();
這樣查詢出來,然後遍歷list,後用sd.getDep...就能取得你要的欄位。
2. Hibernate 有哪幾種查詢數據的方式
HIbernate主要有三種查詢方式HQL、QBC、SQL:
1).HQL(Hibernate Query Language):hibernate數據查詢語言;
2).QBC(Query By Criteria):規則查詢
3).SQL:原生的SQL語句(較為復雜的情況下使用)
想要詳細了解的可以看一下下面的幾篇文章:
QBC數據查詢
HQL單表查詢
HQL多表查詢
希望對你有所幫助~
3. 在hibernate運用sql查詢
基礎不扎實 list map等使用iterator 不是很簡單?
Iterator it=list.iterator();
while(it.hasNext()){
Permit permit=(Permit)it.next();
System.out.println(permit.getName());
}
如果在jsp裡面 直接用<s:iterator>標簽
4. 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;
}
5. hibernate sql 條件查詢問題。
可以如下進行查詢:
Criteria criteria = session.createCriteria(User.class);
List users = criteria.list();
for(Iterator it = users.iterator(); it.hasNext(); ) {
User user = (User) it.next();
System.out.println(user.getId() +
" /t " + user.getName() +
"/" + user.getAge());
}
6. hibernate sql查詢語句
既然你的項目繼承了hibernateDaoSupoort,並且是由spring來管理的那麼,我想應該實在applicationContext.xml中配置的sessionFactory或者getTemplate來注入資料庫連接的,既然如此在hibernateDaoSupport的繼承類中可以得到寫很多的封裝查詢、添加、刪除操作,只需要把方法加入一個抽象類去實現就好了
不過你要通過sql語句去實現的話
因為已經注入了資料庫連接到hibernateDaoSupport中.所以你也繼承到了兩個資料庫連接方法getSession() 和 getHibernateTemplate()
直接用就可以了