このチュートリアルは、参照のために学生登録管理システムの特定のJavaコードを共有しています。特定のコンテンツは次のとおりです
1。要件分析
1.1システム機能設計
(1)学生番号、名前、年齢、クラス、性別などの学生の基本情報を照会できるようにすることができます(2)テーブルおよびその他の機能の生徒情報を増やし、削除、検索、変更できる(3)MySQLデータベースにデータを保存して記録できる(4)MySQLデータベースを介してデータを更新できるようにすることができます
1.2システムモジュール設計
アカデミックレコード管理システムには、情報モジュールの追加、情報モジュールの削除、情報モジュールの変更、情報モジュールのクエリ、データモジュールの更新が含まれます。システム管理者は、学生の学生番号、名前、性別、年齢、賞、その他の情報を確認できます。
(特定のシステム構造設計図については、付録2を参照してください)
2。システムの実装
このシステムは、Java/JDBC言語プログラミング方法を使用して、学生のステータス管理を実現します。
Javaを使用してMySQLデータベースを実装するこのテクノロジーは、主にJDBC.jarのインポートを使用しているため、Javaプログラマーは標準のデータベースアクセスクラスとインターフェイスを自由に呼び出すことができます。
JDBCとJavaの組み合わせにより、ユーザーはSQLステートメントを使用してほとんどのデータベース操作を簡単に実装できます。 Javaの簡単な移植性は、複数のオペレーティングシステムの特性に適しており、JDBCでユーザーのニーズを満たすことができます。
2.1メインレイアウトファイル
「一つのことの原則」によれば、プログラムはレイアウトされており、関連するドキュメントがユーザーが読むために書かれています。 MySQLのデータは、ユーザーが簡単に印刷または参照するために「sudginfo.txt」ファイルにエクスポートすることもできます。使用されるJDBCはバージョン5.0.8です。 2.2キーインターフェイスセグメントコードとその注釈
パッケージjdbc; Import java.sql.connection; Import Java.sql.drivermanager; Import Java.sql.sqlexception; public class testjdbc {public static void main(string [] args){try {class.forname( "com.mysql.jdbc.driver"); //データベースとの接続接続の確立"JDBC:mysql://127.0.0.1:3306/studinfo?charatereCoding = utf-8"、 "root"、 "admin"); system.out.println( "接続が成功し、接続オブジェクトを取得します:" + c); } catch(classNotFoundException e){e.printstacktrace(); } catch(sqlexception e){e.printstacktrace(); }}}2.2 DAOインターフェイス
パッケージjdbc; Import Java.util.list; Import Character.Student; public interface dao {// public void add(desute stud); // public void Update(Student Stud)を変更します。 // public void delete(int id); //パブリックヒーローget(int id); //公開リスト<Student> list(); //ページクエリパブリックリスト<Student>リスト(int start、int count);}//詳細なSQLステートメントとコードの実装の後、ページの付録のコメントを確認してください!
2.3設計方法
シングルインスタント設計モデルが採用されています。追加、削除、検索、変更の機能を設計するとき、データベースは独立して呼び出され、後の段階でソフトウェアを維持する手間を避けます。このソフトウェアは、クラスとして接続データベース機能を独立して取り出します。データベース接続コードの大きなセグメントを繰り返し実装することなく、後で使用する場合にのみ呼び出される必要があります。これは、コードの冗長性を削減します。これは、後のシステムのさらなる改善を助長し、他のプログラマによる読み取りを促進します。
(以下は教師の読書を促進するために、SQL-Conncet接続のSingletonディスプレイのみが完了しました!)
パッケージutil; Import java.sql.connection; Import java.sql.drivermanager; import java.sql.sqlexception; public class dbutil {static string ip = "127.0.0.1"; static int port = 3306;静的文字列database = "sustent";静的文字列エンコード= "utf-8";静的文字列loginname = "root";静的文字列パスワード= "admin"; static {try {class.forname( "com.mysql.jdbc.driver"); } catch(classNotFoundException e){e.printstacktrace(); }} public static connection getConnection()throws sqlexception {string url = string.format( "jdbc:mysql://%s:%d/%s?charatereCoding = s"、ip、ポート、データベース、エンコード); drivermanager.getConnection(url、loginname、password)を返します。 }} 2.4インターフェイスディスプレイ
ボタンを使用して、インターフェイスの下部に追加、削除、変更、およびインポート機能を実装します。以下のボックスに学生IDを入力してクエリ関数を実装できます(ここでは、IDがシステムの唯一の主要なキーであると仮定して、トリガーの入力のみです)
3。システムの欠陥
このシステムには多くのバグがあります。たとえば、データをインポートおよびエクスポートする場合、新しいデータと古いデータの間の空白行を排除することはできません。新しい学生番号を挿入すると、古い学生番号と競合する可能性があり、その結果、ソフトウェアが自動的にシャットダウンされます。全体として、まだ多くの改善があり、さらに修理したいと考えています。
第二に、今回設計されたソフトウェアには、比較的単一の学生のみが1人しかいませんので、実装するのは面倒ではありません。調査対象のER図やその他のデザインを実装する余地がないということです。冬休み中に、学生、コース、教師の間の質問が実現し、このシステムがさらに改善できることを願っています。
4。ファイルシステムの実装とデータベースの実装の長所と短所
ファイルシステムは、共有不良、冗長性が高く、データの独立性が低く、レコード内の構造と、アプリケーション自体によって制御される構造のない全体的な構造を備えた特定のアプリケーションを対象としています。
データベースシステムは、現実の世界に向けられ、共有能力が高く、冗長性が低く、物理的独立性が高く、特定の論理的独立性があり、データモデルによって記述され、データベース管理システムはデータセキュリティ、整合性、同時制御、回復機能を提供します。データ共有の改善。データの冗長性を削減し、データの一貫性を改善します。特定のデータモデルを採用して、データ構造を実現します。データはDBMSによって管理および制御され、非コンピューターの人々の運用と使用をより助長し、学習コストを削減します。また、データベーステクノロジーの開発と今日のソフトウェアの使用により、ユーザーはソフトウェアのデータベース機能の使用を認識していません。
付録1:コードスニペットのSQLステートメントが追加、削除、および変更されています(関数の実装は比較的同じです。ここでは、最初の更新、追加、削除関数が表示され、面倒なコードは繰り返し表示されず、キーコードのみが参照のためにリストされています)
1。更新された実装
//実装コードスニペットパブリックアップデート(Student STU){boolean result = false; if(stu == null){return result; } try {// check if(querybysno(stu.getsno())== 0){return result; } //実装更新文字列sql = "学生セットid =?、name =?、class =?、sex =?"; string [] param = {stu.getid()、stu.getname()、stu.getclass()、stu.getsex()}; int rowcount = db.executeupdate(sql、param); if(rowcount == 1){result = true; }} catch(sqlexception se){se.printstacktrace(); }最後に{Destroy(); } return result; }2。実装コードを削除します(フォーマットとクラスの確立は1と同じです。SQLステートメントを変更するだけです)
string sql = "delete from student where id =?"; string [] param = {stu.getid()};3.ADD実装コード
string sql = "inserting student(id、name、class、sex)values(?、?、?、?)"; string [] param = {stu.getid()、stu.getname()、stu.getclass()、stu.getsex()};4。クエリ実装(IDに基づくクエリ)
private int querybyid(string id)throws sqlexception {int result = 0; if( "" .equals(id)|| id == null){return result; } string checksql = "select * from student where id =?"; string [] checkparam = {id}; rs = db.executequery(checksql、checkparam); if(rs.next()){result = 1; } return result; }}より多くの学習資料については、特別なトピック「管理システム開発」に注意してください。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。