hibernate對SQL語句的使用
如下代碼:
(注意該類繼承自HibernateDaoSupport ,要在*中將sessionFactory注入此類中)
public class DaoUtil extends HibernateDaoSupport {
public Object executeMySQL(final String sql){
*n(sql);
return getHibernateTemplate().execute( new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Connection CurConn = *tion();
PreparedStatement ps = *eStatement(sql);
*e();
*();
*();
return null;
}
} );
}
public Object executeBetchSQL(final ArrayList sqlList){
return getHibernateTemplate().execute( new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Connection CurConn = *tion();
int count = *();
for(int i=0;i//*n(*(i));
PreparedStatement ps = *eStatement(*(i));
*e();
*();
*();
}
return null;
}
} );
}
public static DaoUtil getFromApplicationContext(
ApplicationContext ctx) {
return (DaoUtil) *n("DaoUtil");
}
}
如何用hibernate直接進行SQL語句查詢
我寫個簡單的例子,樓主可以參考下public int getLogin(String username,String password)
{ String sql="select * from user_table where username=? and password=?";
SQLQuery query=getSession().createSQLQuery(sql).addEntity(*);
*ing(0,username);
*ing(1,password);
return *nt(*Result().toString());
}
public static void main(String[] args) {
new UserTableDAO().getLogin("zhang","yuan");
}
hibernate sql查詢語句
既然你的項目繼承了hibernateDaoSupoort,并且是由spring來管理的那么,我想應該實在*中配置的sessionFactory或者getTemplate來注入數據庫連接的,既然如此在hibernateDaoSupport的繼承類中可以得到寫很多的封裝查詢、添加、刪除操作,只需要把方法加入一個抽象類去實現就好了
不過你要通過sql語句去實現的話
因為已經注入了數據庫連接到hibernateDaoSupport中.所以你也繼承到了兩個數據庫連接方法getSession() 和 getHibernateTemplate()
直接用就可以了
hibernate怎么顯示sql語句
<hibernate-configuration>
<session-factory>
<property name="*e">mysql</property>
<mapping resource="com/chenhui/bean/*" />
<mapping resource="com/chenhui/bean/*" />
<mapping resource="com/chenhui/bean/*" />
<mapping resource="com/chenhui/bean/*" />
<property name="dialect">
*ialect
</property>
<property name="*">
jdbc:mysql://localhost:3306/video
</property>
<property name="*me">root</property>
<property name="*rd">123</property>
<property name="*_class">
*
</property>
<property name="*_sql">true</property><;!-- 配置顯示sql語句 -->
<property name="format_sql">true</property><;!-- 讓輸出的sql語句格式化 -->
</session-factory>
</hibernate-configuration>
sql語句和hql語句的區別
數據庫中hql與sql的區別:
1、sql 面向數據庫表查詢。
2、hql 面向對象查詢。
3、hql : from 后面跟的 類名+類對象 where 后 用 對象的屬性做條件。
4、sql: from 后面跟的是表名 where 后 用表中字段做條件查詢。
5、在Hibernate中使用查詢時,一般使用Hql查詢語句。
6、HQL(Hibernate Query Language),即Hibernate的查詢語言跟SQL非常相像。不過HQL與SQL的最根本的區別,就是它是面向對象的。
在Hibernate中使用查詢時,一般使用Hql查詢語句。
HQL(Hibernate Query Language),即Hibernate的查詢語言跟SQL非常相像。不過HQL與SQL的最根本的區別,就是它是面向對象的。
使用HQL時需要注意以下幾點:
大小寫敏感
因為HQL是面向對象的,而對象類的名稱和屬性都是大小寫敏感的,所以HQL是大小寫敏感的。
HQL語句:from Cat as cat where * > 1;與from Cat as cat where * > 1;是不一樣的,這點與SQL不同。
from子句
from Cat,該句返回Cat對象實例,開發人員也可以給其加上別名,eg. from Cat as cat,對于多表查詢的情況,可參考如下:
from Cat as cat, Dog as dog
其它方面都與SQL類似,在此不再贅述。
轉載請注明出處華閱文章網 » hibernate的sql語句