您的位置:首页 > 数据库 > Oracle

oracle与mysql 数据库sql 分页查询

2015-09-02 11:09 387 查看
最近发现在工作中有很多代码忘得一干二净 所以觉得应该把一些写好的代码记录下来 其实之前有用有道笔记 但是发现它并没有搜索功能

所以还是写到博客中来 可以用强大的搜索引擎来找到 很方便

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 结果集的封装方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: