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 でのスーパーバイザーのアップグレード、インストール、および構成に関するチュートリアル

推薦する

TypeScriptにおけるunknownとanyの違いについて詳しく説明します

目次序文1. 不明 vs 任意2. 未知とあらゆるもののメンタルモデル3. まとめ要約する序文any...

最新バージョンMySQL5.7.19 解凍版インストールガイド

MySQL バージョン: MySQL Community Edition (GPL) ------ ...

MySQL外部キーの基本的な機能と使用方法の詳細な説明

この記事では、例を使用して、MySQL 外部キーの基本的な機能と使用方法を説明します。ご参考までに、...

Vue3とVue2の利点のまとめ

目次1. なぜ vue3 が必要なのでしょうか? 2. vue3の利点3. 応答原則の違い4. ライ...

WIN2008 サーバーのコマンド ラインを使用して IIS7 コンポーネントをインストールおよびアンインストールする方法

注意: .NET FrameWork はコア モードで実行できないため、コア インストール モードの...

CSS3で作成した画像スクロール効果

成果を達成する実装コードhtml <base href="https://s3-us...

JavaScript が Taobao の虫眼鏡効果を模倣

この記事では、淘宝虫眼鏡効果を実現するためのJavaScriptの具体的なコードを参考までに紹介しま...

Dockerコンテナでは、イメージを簡素化してサイズを縮小する方法を詳しく説明しています

目次1.画像レイヤーの数を減らす1. 命令の統合2. 多段階ビルド3. スクワッシュ機能を有効にする...

MySQL での外部キーの作成、制約、削除

序文MySQL バージョン 3.23.44 以降では、InnoDB エンジン タイプのテーブルは外部...

HTML ページに画像を挿入し、マップ インデックスを追加する方法の例

1. WEBでサポートされている画像形式: GIF: 256色を保存でき、透明色をサポートし、アニメ...

Centos6.5 の rpm パッケージから mysql5.7 をインストールするときに発生する初期化エラーの解決策

1. rzをサーバーにアップロードして解凍する rz [root@mini2 アップロード]# ta...

Nginx_geo モジュールを使用して CDN スケジュールを設定する方法

NginxのGeoモジュールの紹介geo ディレクティブは、ngx_http_geo_module ...

MySQL 並列レプリケーションの簡単な分析

01 並列レプリケーションの概念MySQL のマスター スレーブ レプリケーション アーキテクチャで...

表示しているページのスナップショットを Baidu が保存できないように設定する方法

今日、Baidu でページを検索したところ、ページが削除されていたため、当然 Baidu スナップシ...

Vue は PC カメラを呼び出してリアルタイムで写真を撮る機能を実装します

VueはPCカメラを呼び出してリアルタイムで写真を撮影します。参考までに、具体的な内容は次のとおりで...