oracle與mysql 數據庫sql 分頁查詢

最近發現在工作中有很多代碼忘得一乾二淨 所以覺得應該把一些寫好的代碼記錄下來 其實之前有用有道筆記 但是發現它並沒有搜索功能

所以還是寫到博客中來 可以用強大的搜索引擎來找到 很方便

SELECT * FROM (select A.*,rownum rn from (select * from cms_matchingpic where keyword like '%keyword%' order by create_dt DESC) A where rownum <= (每頁條數+第一條索引)) where rn >= <pre name="code" class="sql">第一條索引


這句oracle sql語句是經過優化後的分頁查詢 效率客觀 但是如果數據量並不大 它的效率還是無法顯現出來的

SELECT * FROM gallery_image WHERE news_keyword LIKE '%keyword%' ORDER BY news_time DESC limit 第一條索引,每頁條數
上面這句是mysql數據庫 分頁查詢語句 與oracle區別很大
public List<Map<String,Object>> getDBData(String driverName,String url,String user,String password,String sql) throws Exception{
			//獲取歷史圖庫中的數據
	    	
			Connection conn = null;
	        Statement stat = null;
	        ResultSet rs = null;
	       //加載驅動器
	       try{
	        Class.forName(driverName).newInstance();
	        }catch(Exception e){
	        	//TODO
	        }
	        //根據數據庫參數得到數據庫連接
	       
			conn = DriverManager.getConnection(url,user , password);
			if ("oracle.jdbc.driver.OracleDriver".equals(driverName)) {
				PreparedStatement stmt=conn.prepareStatement(sql);
				rs = stmt.executeQuery();
			}
			if("com.mysql.jdbc.Driver".equals(driverName)){
				
				stat = conn.createStatement();
				
				
				rs = stat.executeQuery(sql);
			}
			return extractData(rs);
		}

附上 jdbc獲取連接並返回list 結果集的封裝方法

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