2011-12-15 13 views
0

私たちのコードはMySQL DBを使用しています。db-mysqlとdb2の両方でコードを再利用できる最適な方法は何ですか

私たちの要件は、DBをMysqlからDB2に移行することです。 と、db2とmysqlの両方に対応するjavaコードを作成します。

私たちはSPring MVCとmybatisを使用しています。JPAはDB作業用です。

より良いデザインパターンを教えてください。

mybatisのコードをmysqlとdb2の両方と互換性を持たせるにはどうすればよいですか?

ありがとう、

答えて

0

私は別のデータレイヤーをお勧めします。

このデータレイヤで、ビジネスロジックが使用するパブリックインターフェイスとデータ型を宣言します。

これで、実際のデータレイヤーインスタンスをファクトリパターンを使用して作成できます。これにより、MySQLまたはDB2への接続用の具体的なクラスが作成されます。このようにすれば、ビジネスコードを変更することなくデータベースを変更できます(すべてがインタフェースタイプを参照するため)。実行時にこのアクションを実行するように設定することもできます(たとえば、設定の設定に基づいて)。

IDataLayerは、データを取得/設定するためのメソッドを持つ基本クラスです(この中にはデータベースの取り扱いが隠されています)。

次に、MySQLDataLayerとDB2DataLayerの子クラスがあります。

ビジネスロジックは、IDataLayerのみを参照し、MySQLDataLayer/DB2DataLayerクラスは参照しません。

関連する問題