Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DBFluteを閉じ込めよう

1,216 views

Published on

DBFluteフェス2016でLTしたときのスライド。
https://connpass.com/event/43457/

Published in: Technology
  • Be the first to comment

DBFluteを閉じ込めよう

  1. 1. DBFLUTE DBFLUTE FESS 2016
  2. 2. WHO ARE YOU? ▸ @taktos9 ▸ SIer DBA ▸ DBFlute 8 dbflute-hamcrest ▸ https://github.com/taktos/dbflute-hamcrest
  3. 3. DBFLUTE
  4. 4. ▸ Status status = member.getMemberStatus().getStatusAsStatus(); ▸ JOIN (memberCB.setupSelect_MemberStatus()) ▸ Status status = member.getMemberStatus().getStatusAsStatus();
  5. 5. NullPointerException
  6. 6. WHY? ▸ Domain Model ▸ member has a member status ANYTIME, ANYWHERE! ▸ DBFlute = SQL (Relational Model) ▸ member table has a member_status IF YOU JOIN (!)
  7. 7. WHY? ▸ SQL ▸ SQL
  8. 8. ▸ JSP JSON JavaScript ▸ ▸
  9. 9. DBFLUTE ≠ DOMAIN ▸ DBFlute Entity Domain ▸ Domain ▸ ▸ →
  10. 10. VIEW SERVICE DAO
  11. 11. VIEW DOMAIN DAO
  12. 12. INVERSION OF CONTROL ▸ View Domain DBFlute ▸ Status status = member.getStatus(); // never null ▸ DBFlute (Dao) Domain Interface ▸ Member member = memberRepository.findById(memberId);
  13. 13. HOW? ▸ ▸ View --compile--> Domain ▸ View --runtime--> Dao ▸ Dao --compile--> Domain
  14. 14. HOW? ▸ ▸ XML or AutoConfigure (Spring Boot) ▸ ▸ AspectJ
  15. 15. https://devlog.arksystems.co.jp

×