###前提・実現したいこと
現在Spring Bootを使ってつくったWebサイトを管理しています。
そのサイトはあるDB内のデータを表形式で表示するだけの簡単なWebシステムになっています。(以下既存サイト)
今回新たに、既存サイトが参照しているDBと同じDBを参照する別のWebサイトを作りたいと考えています。(以下新規サイト)
新規サイトで表示したい内容は既存サイトとほぼ同じなので、DBアクセス処理を流用したいと考えているのですが、
ソースコードコピペだと芸がないというか障害があった際に両方修正しないといけなかったりと不便だと考え、DBアクセス処理のみをjarなどの形で使いまわせる形にできないかと考えています。
現在既存サイトのDBアクセス部分は以下のようなつくりになっています。
java
1@Component 2public class MstDaoImpl implements MstDao{ 3 @Autowired @Qualifier("jdbc") 4 private NamedParameterJdbcTemplate db; 5 6 @Override 7 public MstDto find(String pId) throws EmptyResultDataAccessException { 8 SqlParameterSource param = new MapSqlParameterSource() 9 .addValue("Id"); 10 String tmpSql = "SELECT " 11 + "ID" 12 + " FROM [MST].[dbo].MST m " 13 + "WHERE " 14 + "m.ID = :Id " 15 ; 16 return db.queryForObject(tmpSql,param,new CorrespondenceTableMstDtoRowMapper()); 17 } 18 19 /** 20 * DTOへのデータマッパー 21 */ 22 protected class MstDtoRowMapper 23 implements ParameterizedRowMapper<MstDto>{ 24 public MstDto mapRow(ResultSet rs, int rowNum) 25 throws SQLException { 26 MstDto h= new MstDto(); 27 h.setId(rs.getString("ID")); 28 return h; 29 } 30 } 31 32} 33
java
1/*上記DAO呼び出し側*/ 2 @Autowired 3 private MstDao mstDao; 4~~~~~~~~~~ 5final MstDto user = mstDao.find(id); 6~~~~~~~~~~
上記のようなDBアクセス処理をライブラリ化したい場合、どういった方法が考えられるでしょうか。
###試したこと
単純に既存システムのDBアクセス部分を残してjarとして出力し、新規システムのビルドパスに加えた場合、ビルド自体はきちんと通るのですが、実行時にエラーメッセージでずにサーバーが停止してしまいました。
そもそもSpring Boot Application自体がそういったjarとして参照するようなものではない気はしたのですが、ではどうすればいいのかというところがわかりませんでした。
何か方法はありますでしょうか。
そもそもDBアクセス部分をjarでライブラリ化するという考え方は一般的なのでしょうか。アドバイスお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/26 01:05