hibernate session.createSQLQuery(sql); 通過命令刪除


@Override
    public boolean deleteBySql(String sql) {
        Session session = getSession();
        @SuppressWarnings("unchecked")
    //    Transaction tx = session.beginTransaction();
         Query query = session.createSQLQuery(sql);
        query.executeUpdate();
      //  tx.commit();
     //   session.close();
        return true;
    }

網上很多先通過查詢id 再刪除

和刪除對象的方式.

麻煩,我就直接用命令刪除吧

 session.createSQLQuery(sql); 長的差不多的還有一個命令 session.createQuery  

 

兩者的區別:
Query createQuery ( String queryString)
創建一個查詢字符串中給定的HQL 查詢新的實例。
參數:HQL查詢
返回值:Query查詢
拋出異常:HibernateException

SQLQuery createSQLQuery ( String queryString)
創建一個新的查詢字符串給定的SQL實例SQLQuery的。
參數:SQL查詢
返回值:SQLQuery
拋出異常:HibernateException

簡單來說,createQuery使用hql語句進行查詢,以Hibernate生成的Bean為對象,並將對象裝入List中返回。
createSQLQuery使用sql語句進行查詢,是以對象數組形式返回。
--------------------- 
作者:wangshuang1631 
來源:CSDN 
原文:https://blog.csdn.net/wangshuang1631/article/details/52526594 
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

 報錯1:

Unknown column '張三' in 'where clause'

這個問題是你的SQL語句問題,字符串類型的數據需要加上單引號

string sql = "select * from test where name = '"+username+"';

最終結果如果刪除如果數據庫存在輸出的值則返回刪除了多少條數據.

如果數據庫不存在要刪除的值返回則為0 .


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM