如何用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語句查詢
我寫個簡單的例子,樓主可以參考下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語句
<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>
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查詢語句
既然你的項目繼承了hibernateDaoSupoort,并且是由spring來管理的那么,我想應該實在*中配置的sessionFactory或者getTemplate來注入數據庫連接的,既然如此在hibernateDaoSupport的繼承類中可以得到寫很多的封裝查詢、添加、刪除操作,只需要把方法加入一個抽象類去實現就好了
不過你要通過sql語句去實現的話
因為已經注入了數據庫連接到hibernateDaoSupport中.所以你也繼承到了兩個數據庫連接方法getSession() 和 getHibernateTemplate()
直接用就可以了
hibernate 能用sql語句嗎
當然可以的 我發一段 我項目中用的。 可不可以 你要查API啊 API說可以就可以 說不可以就不可以啦~~~
/**
* 使用hql語句進行分頁查詢
* @param hql 需要查詢的hql語句
* @param value 如果hql有一個參數需要傳入,value就是傳入hql語句的參數
* @param offset 第一條記錄索引
* @param pageSize 每頁需要顯示的記錄數
* @return 當前頁的所有記錄
*/
public List findByPage(final String hql , final Object value ,
final int offset, final int pageSize)
{
//通過一個HibernateCallback對象來執行查詢
List list = getHibernateTemplate()
.executeFind(new HibernateCallback()
{
//實現HibernateCallback接口必須實現的方法
public Object doInHibernate(Session session)
throws HibernateException, SQLException
{
//執行Hibernate分頁查詢
List result = *Query(hql)
//為hql語句傳入參數
.setParameter(0, value)
.setFirstResult(offset)
.setMaxResults(pageSize)
.list();
return result;
}
});
return list;
}
轉載請注明出處華閱文章網 » hibernatesql語句