Heim  >  Fragen und Antworten  >  Hauptteil

java - Was ist eine elegantere Möglichkeit, das Laden von Seiten in Unternehmen zu implementieren?

Als Teil des Projekts, das für das nächste Semester für die Schulbibliothek verantwortlich ist, stoße ich nun auf eine Schwierigkeit beim Geschäftsdesign.

Auf der Homepage habe ich beispielsweise vor, Ajax zu verwenden, um alle Informationen zu laden, wenn Schüler verwandte Informationen abfragen. Ich bin nicht an viele Websites wie Zhihu gewöhnt, die zum automatischen Laden nach unten gezogen werden. Meine Idee ist, unten eine Paging-Option einzurichten, 15 Datensätze auf jeder Seite anzuzeigen und alle Artikel mit Ajax zu laden.

Auf diese Weise wird wahrscheinlich die SQL-Anweisung abgefragt, und dann wird der Gesamtdatensatz im Frontend gespeichert. select xxx from xxx condition limit 15 offset xxx。但是现在由于要做分页,我必须要知道一个学生总共有多少条记录在数据库中,前端才好设计,总记录可以通过sql语句select count(*) from xxx condition

Wenn dies der Fall ist, muss die Abfrage in zwei SQL-Anweisungen aufgeteilt werden, was sich nicht sehr elegant anfühlt. Gibt es einen eleganteren Implementierungsplan?

ps: Da es viele ähnliche Unternehmen im System gibt, die ähnliche Paging-Designs erfordern, ist es zu unelegant, jedes Mal zwei SQL-Anweisungen für die separate Abfrage zu verwenden.

Ergänzung

Der Befragte

scheintnicht einmal auf die Frage zu achten. Eine Person antwortete auf SQL-Anweisung 1 und die andere Person sprach über das Frontend.

Vielen Dank an alle Internetnutzer. Das Problem wurde gelöst. Es scheint, dass nur zwei SQL-Anweisungen verwendet werden können

阿神阿神2691 Tage vor620

Antworte allen(6)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-06-06 09:53:51

    var start = 页标 - 1;
    $.get("url?start=" + start * 15,function(){});
    $start = $_GET["start"];
    $end = $start + 15;
    $sql = "select * from table limit {$start}, {$end}"; 
    select a.*, b.count from table a, (select count(*) as count from table ) b LIMIT 1,15

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-06-06 09:53:51

    不用想了,必须是两条的.
    要一条也行:
    select * from table
    union
    select 0, 0...., count(*) from table

    Antwort
    0
  • 怪我咯

    怪我咯2017-06-06 09:53:51

    这很正常。如果想用一条sql解决,就把所有对象从数据库里查出来再做一系列操作,但搞不好你的内存就爆掉了。

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-06 09:53:51

    不用想了 必须是两条 。分页的实现 定义一个泛型类page<T> 里面放什么 需要我说的更详细吗?

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-06-06 09:53:51

    试试PageHelper,就一条sql语句,甚至不需要limit

    Antwort
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-06 09:53:51

    要优雅的分页 分页的插件很多的

    Antwort
    0
  • StornierenAntwort