JAVA DAO層 對數據庫操作常用方法(轉)

第一種:   List<Map<String, Object>>

1、不帶參數的

[java] view plaincopy
  1. <span style="font-size:18px">   /** 
  2.      * @return 
  3.      * @throws SQLException 
  4.      */  
  5.     @SuppressWarnings("unchecked")  
  6.     public List<Map<String, String>> getProjectModule() throws SQLException   
  7.     {  
  8.         StringBuffer  sql = new StringBuffer();  
  9.         sql.append("select ........ ........,");  
  10.         sql.append("      ........ ........");  
  11.         sql.append(" from dbo.........");  
  12.         sql.append(" where fileuseflg='0' ");  
  13.   
  14.         Query query = this.getSession().createSQLQuery(sql.toString())  
  15.                 .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);  
  16.         return query.list();  
  17.     }</span>  


2、帶參數的

[java] view plaincopy
  1.       
  2. <span style="font-size:18px">   /** 
  3.      * @param custId 
  4.      * @param page 
  5.      * @param rows 
  6.      * @return 
  7.      */  
  8.     @SuppressWarnings("unchecked")  
  9.     public List<Map<String, Object>> getCustomerList(String regieId, int page, int rows) throws SQLException{  
  10.         StringBuffer sql = new StringBuffer();  
  11.         sql.append("SELECT a.*,b.CUST_NAME ");  
  12.         sql.append(" FROM ........  ");  
  13.         sql.append(" WHERE a.CUSTOM_ID = b.CUSTOM_ID ");  
  14.         sql.append(" AND a.VISIT_REGION_ID =:regieId ");  
  15.         sql.append(" ORDER BY a.CUST_REGIE_CODE ");  
  16.           
  17.         return this.getSession().createSQLQuery(sql.toString()).setParameter("regieId", regieId)  
  18.                     .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)  
  19.                     .setFirstResult((page-1)*rows).setMaxResults(rows).list();  
  20.     }</span>  


        sql.append(" AND a.VISIT_REGION_ID =:regieId ");            
        return this.getSession().createSQLQuery(sql.toString()).setParameter("regieId", regieId)
        跟 sql.append(" AND a.VISIT_REGION_ID ='"+regieId+"' "); 效果一樣,如:

[java] view plaincopy
  1. <span style="font-size:18px">   /** 
  2.      * @param projectId 
  3.      * @param documentID 
  4.      * @return 
  5.      * @throws SQLException 
  6.      */  
  7.     @SuppressWarnings("unchecked")  
  8.     public List<Map<String, Object>> fillDgPaddingListData(String projectId,  
  9.             String documentID) throws SQLException {  
  10.         System.out.println("編輯操作");  
  11.         StringBuffer sql = new StringBuffer();  
  12.         sql.append("SELECT a.*  ");  
  13.         sql.append("FROM   ........ a ");  
  14.         sql.append("  left  join  dbo.XLJXC_PROJECT   b   ");  
  15.         sql.append("   on  a.subProjectID=b.PROJECT_ID   ");  
  16.         sql.append("   WHERE  projectID = '" + projectId  
  17.                 + "' and  documentID='" + documentID + "' ");  
  18.   
  19.         Query query = this.getSession().createSQLQuery(sql.toString())  
  20.                 .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);  
  21.         return query.list();  
  22.     }</span>  

第二種  List<String>

[java] view plaincopy
  1. <span style="font-size:18px">   /** 
  2.      * @param documentId 
  3.      * @return 
  4.      */  
  5.     @SuppressWarnings("unchecked")  
  6.     public List<String> findFilePathBySrcId(String srcId)   
  7.     {  
  8.         StringBuffer  sql = new StringBuffer();  
  9.         sql.append("SELECT ........ ");  
  10.         sql.append("FROM   dbo......... ");  
  11.         sql.append("WHERE  srcID = '"+srcId+"' ");  
  12.           
  13.         List<String> list=this.getSession().createSQLQuery(sql.toString()).list();  
  14.         return list;  
  15.     }</span>  

第三種 String

[java] view plaincopy
  1. <span style="font-size:18px">   /** 
  2.      * @param custId 
  3.      * @return 
  4.      */  
  5.       
  6.     public String getCustomerCount(String custId) throws SQLException{  
  7.         StringBuffer sql = new StringBuffer();  
  8.         sql.append("SELECT count(*)");  
  9.         sql.append(" FROM ........cc_customer b  ");  
  10.         sql.append(" WHERE a.CUST_REGIE_CODE = b.CUST_CODE ");  
  11.         sql.append(" AND a.VISIT_REGION_ID =:custId ");  
  12.           
  13.         return this.getSession().createSQLQuery(sql.toString()).setParameter("custId", custId).list().get(0).toString();  
  14.     }</span>  
[java] view plaincopy
  1. <span style="font-size:18px">return query.list().get(0)==null?"": query.list().get(0).toString();  判斷</span><span style="font-size:18px">query.list().get(0)</span><span style="font-size:18px">是否爲空 如:</span>  

[java] view plaincopy
  1. <span style="font-size:18px">   public String getComment(String id) throws SQLException{  
  2.         StringBuffer sql = new StringBuffer();  
  3.         sql.append("select COMMENT ");  
  4.         sql.append(" from ........ ");  
  5.         sql.append(" where id='"+id+"'");  
  6.         Query query = this.getSession().createSQLQuery(sql.toString());  
  7.         return query.list().get(0)==null?"": query.list().get(0).toString();  
  8.  }</span>  

第四種 不帶返回值

[java] view plaincopy
  1. <span style="font-size:18px">   /** 
  2.      * @param ent 
  3.      * @throws SQLException 
  4.      * 插入 
  5.      */  
  6.     public void saveVisitCustormer(Work135DayVisitCust ent) throws SQLException{  
  7.         StringBuffer sql = new StringBuffer();  
  8.         sql.append("insert into DB2INST1.WORK135_DAY_VISIT_CUST ");  
  9.         sql.append("........ ");  
  10.         sql.append(" ...... ");  
  11.   
  12.         Query query = this.getSession().createSQLQuery(sql.toString());  
  13.         query.executeUpdate();  
  14.         //this.getSession().save(ent);  
  15.     }  
  16.     /** 
  17.      * @throws SQLException 
  18.      * 刪除 
  19.      */  
  20.     public void delectDictByItemId(String itemId,String personCode,String orgCode)throws SQLException{  
  21.         StringBuffer sql = new StringBuffer();  
  22.         sql.append("delete from ........");  
  23.         sql.append(" where evaluate_Item_Id = '"+itemId+"' and person_Code ='"+personCode+"' and org_Code ='"+orgCode+"'");  
  24.         Query query = getSession().createSQLQuery(sql.toString());  
  25.         query.executeUpdate();  
  26.     }</span>  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章