我想做一个医药网站的,按药名拼音排序显示,,每次显示12条,怎么写,,
(我不想在java里连数据库26次,也不想一次把表里的数据全查出来,,我只想要每样10个就可以的数据,。。
mysql数据库,)最好解答的能全一点,

解决方案 »

  1.   

    查询的时候根据药名排序js实现表格排序
    http://dennis-zane.javaeye.com/blog/58864
      

  2.   

    拼音应该是预处理一次的,因为你的药名就那么一些。预处理后速度才够快
    也就是存在两个字段,一个是中文名称,一个是拼音或者拼音首字母中文转换成拼音可以用pinyin4j
      

  3.   

    可以用struts2的标签,给你看个例子 我们学习用的。
    实现的action
    public class StuAction extends BaseAction {
    private static final long serialVersionUID = 1L;
    public Stu stu;
    public List<Stu> list;
    StuService stuservice=StuDaoFactory.getStuService();
    protected int pageSize = 5;
    protected int pageNow = 1;
    public String queryStu(){
    list=stuservice.getQuery(pageSize, pageNow);
    if(list!=null){
    return SUCCESS;
    }else{
    return INPUT;
    }
    }
    }实现方法
    public List<Stu> queryStu(int pageSize, int pageNow) {
    session=HibernateFactory.getHib().getSession();
    Transaction ts=session.beginTransaction();
    String sql="from Stu order by stuId";
    Query query=session.createQuery(sql);
    query.setFirstResult((pageSize*pageNow)-pageSize);
    query.setMaxResults(pageSize);
    ts.commit();
    return query.list();
    }
    struts2 标签
    <s:iterator value="list">
    <tr align="center">
    <th>
    <s:property value="stuId" />
    </th>
    <th>
    <s:property value="name" />
    </th>
    <th>
    <s:property value="sex" />
    </th>
    <th>
    <s:property value="age" />
    </th>
    <th>
    <s:property value="tel" />
    </th>
    <th>
    <s:property value="classId" />
    </th>
    <th>
    <s:property value="address" />
    </th>
    </tr>
    </s:iterator> 仅供参考
      

  4.   


    插数据的时候直接把拼音也插进去,然后查询直接order by 拼音。
    分页,mysql应该也有 top,limit 之类的吧。哎,个人意见,仅供参考。
      

  5.   


    如果mysql有类似oracle的汉字按拼音排序的函数,直接一个sql就可以,存储过程更不在话下
    不过貌似mysql5以上才支持存储过程。