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 结果集的封装方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值