/**
 * 按条件查询并排序并分页
 * @param page 当前页面编号,-1表示所有
 * @param rows 每页记录条数,-1表示所有
 * @param where 条件语句,不带where关键字,条件语句只能使用位置参数,位置参数的索引值以1开始,例如:o.username=?1 and o.password=?2
 * @param params 条件语句出现的位置参数值 
 * @param orderby 排序,Key为排序属性,Value为asc/desc,如: 
     *  LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>(); 
        orderby.put("email", "asc"); 
        orderby.put("password", "desc");
 * @return
 */
public List<Transport> search(String where, Object[] params, LinkedHashMap<String,String> orderby, int page, int rows) throws SQLException;
}

解决方案 »

  1.   

    你这个问题问得有点模糊,你是想用传统的JDBC访问数据库吗?如果是,思路就是加载驱动,读取配置文件,获得数据库连接信息,打开一个Connection,一个连接就这样获取到了。还有,你这些条件没必要这么传,参数比较多了,可以考虑封装为一个查询条件对象。
      

  2.   

    但是老师要求这样写的哇  就是没看懂  要条件语句查询  却不能带where关键字
      

  3.   

    where 被封装进去了 这样是为了避免有些数据操作没有where的情况
    比如:select * from user 【1】 where 1 = 1 【2】
    封装的代码是这样的 如果你有条件  你只要传“ and user = 1 and pwd = 1 ”就可以了
    这样当你没有条件的时候也能执行
    【1】的地方 你老是应该还封装了其他的东西  
    【2】的地方 封装了分页查询的东西