oracle与mysql 数据库sql 分页查询

来源:互联网 发布:网络设计 编辑:程序博客网 时间:2024/04/20 22:09

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

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

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

0 0
原创粉丝点击