Vueが学生管理機能を実装

Vueが学生管理機能を実装

この記事では、学生管理を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は次のとおりです。

困難

  • 生徒作成機能と生徒編集機能の両方で使用されるコンポーネント。それを判断および検証する方法。
  • ユーザー入力を確認し、空でないかどうかを確認します。
  • JSON データをサーバーに送信し、バックエンドが JSON データを変換します。
  • 3層アーキテクチャでは、各層の機能が分割されています
  • 注釈を使用して生徒のデータを操作する

全体的な難易度は平均的ですが、細かいポイントが多く、総合力は高いです。
たとえば、axios を使用してバックエンドに投稿を送信する場合、フォーマットを無視するのは簡単です。
フロントエンドとバックエンドのデータが相互作用する場合、データは大きいほど良いです。データが完全であればあるほど、データのパフォーマンスは強くなります。バックエンドデータを取得するときは、解凍レベルを明確に区別する必要があります。

コードの一部

js の

<スクリプト>
 アプリを新しいVue({
  el:"#アプリ",
  データ:{
   currentPage:1, //現在のページ pageSize:10, //ページあたりに表示されるレコード数 total:0, //レコードの合計数;
   list:[], //現在のページデータ //学生情報のバインディング student:{
    名前:""、
    年:""
   }
  },
  方法:{
   ページャー:関数(数値){
    this.currentPage = num;
    データの取得
   },
   getData:関数() {
    axios.post("/StudentManager/showAllServlet?currentPage=" + this.currentPage + "&pageSize=" + this.pageSize).then((resp) => {
     this.list = resp.data.datas;
     this.total = resp.data.total;
    });
   },
   追加:関数() {
    if (this.student.id === 未定義) {
     axios.post("/StudentManager/addStudentServlet", this.student).then((resp) =>{
      if (resp.data.flag){
       データの取得
      }それ以外 {
       alert("追加に失敗しました!");
      }
     });
    }それ以外 {
     axios.post("/StudentManager/updateStudentServlet", this.student).then((resp)=>{
      if (resp.data.flag){
       データの取得
      }それ以外 {
       alert("変更に失敗しました!");
      }
     });
    }
   },
   学生の削除:関数(id) {
    axios.post("/StudentManager/deleteStudentServlet?id="+id).then((resp)=>{
     if (resp.data.flag){
      データの取得
     }それ以外 {
      alert("削除に失敗しました!");
     }
    });
   },
   findById:関数 (id) {
    axios.post("/StudentManager/findByIdStudentServlet?id=" + id).then((resp)=>{
     this.student = resp.data;
    });
   }
  },
  マウント:関数() {
   データの取得
  }
 });
</スクリプト>

ページ分けされた学生情報を表示する

// サーブレット
 文字列 currentPage = request.getParameter("currentPage");
 文字列 pageSize = request.getParameter("pageSize");
 
 PageBean<Student> pageBean = showAllStudentService.showAllStudent(Integer.parseInt(currentPage), Integer.parseInt(pageSize));
 オブジェクトマッパー objectMapper = 新しいオブジェクトマッパー();
 文字列 json = objectMapper.writeValueAsString(pageBean);
 
 レスポンスの getWriter() を json に書き込みます。
// サービス
  @テスト
    @オーバーライド
    パブリック PageBean<Student> showAllStudent(int currentPage, int pageSize) {
        PageHelper.startPage(現在のページ、ページサイズ);
        SqlSession sqlSession = SqlSessionUtils.getSqlSession(false);
        StudentMapper マッパー = sqlSession.getMapper(StudentMapper.class);
        リスト<Student> students = mapper.showStudent();

        PageInfo<学生> pageInfo = 新しい PageInfo<>(学生);
        長い合計 = pageInfo.getTotal();
        ページ情報を取得します。
        PageBean<Student> pageBean = new PageBean<>(total, students, pages);
        sqlSession を閉じます。
        pageBean を返します。
    }
//ダオ
 /**
     * ホームページにはすべての生徒が表示されます* @生徒リストを返す*/
    @Select("SELECT * FROM 学生")
    リスト<学生> showStudent();

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue+Bootstrapでシンプルな学生管理システムを実現
  • 学生管理システムを実現するJavaコンソール
  • 学生管理システムのJava実装(IO版)
  • Javaで実装された学生管理システムの詳細説明
  • Vueプロジェクトの学生管理システム例の詳細説明

<<:  MySQL インデックスのカーディナリティの概念と使用例

>>:  Centos6.5 でのスーパーバイザーのアップグレード、インストール、および構成に関するチュートリアル

推薦する

バックエンド管理システムを構築するためのvue-element-adminの実装手順

最近、カンファレンスの健康申告システムに取り組んでいたとき、バックエンドを構築する必要があり、vue...

Alibaba Cloud Server で MySQL デュアルマシン ホットスタンバイを手動で実装する 2 つの方法

1. コンセプト1. ホットバックアップとバックアップの違いホット バックアップは高可用性 (HA)...

backgroundImage を使用して画像カルーセルの切り替えを解決する詳細な説明

単一のDOMノードでカルーセルを実装するbackgroundImage を使用すると、複数の画像を追...

Kubernetes を使用して Springboot または Nginx をデプロイするための詳細なチュートリアル

1 はじめに「Maven がワンクリックで Springboot を Docker リポジトリにデプ...

Linux オペレーティング システムに Apache サービスをインストールする方法

ダウンロードリンク:動作環境VMware 仮想マシンの CentOS 7.6セキュアCRT Xftp...

Nginx リバース プロキシ構成の完全なプロセス記録

1. 準備LinuxシステムにTomcatをインストールし、デフォルトのポート8080を使用してTo...

js クロージャとガベージ コレクション メカニズムの例の詳細な説明

目次序文文章1. 終了1.1 クロージャとは何ですか? 1.2 クロージャの特性1.3 クロージャを...

ウェブサイトの高速化における CDN、SCDN、DCDN の違いは何ですか?どうやって選ぶ?

1. CDNこれは、Web サイト上で最もよく使用される加速機能です。分散サーバー レイアウトによ...

Docker: /etc/default/docker の DOCKER_OPTS パラメータを変更しても反映されない

デフォルトでは、 /etc/default/docker 設定は有効になりません。docker 環境...

Windows システム mysql5.7.18 インストール グラフィック チュートリアル

Windows システム向け MySQL インストール チュートリアルダウンロード1. https:...

HTML テーブル マークアップ チュートリアル (1): テーブルの作成

<br />これは 123WORDPRESS.COM が提供する一連のチュートリアルです...

JavaScript はチェックボックスの選択機能を実装します

この記事の例では、すべてのチェックボックスの選択を実現するためのJavaScriptの具体的なコード...

UbuntuでOpenCVをコンパイルしてインストールする方法

opencv2 の簡単なインストール: conda インストール --channel https:/...

MySQL のソートとページング (order by と limit) と既存の落とし穴

並べ替えクエリ (order by)電子商取引の場合: 今日完了したすべての注文を表示し、取引金額に...

Bootstrapグリッドの垂直および水平配置の詳細な説明

目次1. Bootstrap グリッドレイアウト2. 垂直方向の配置2.1 行タグの垂直方向の配置を...