MyBatisで流れるようなメソッドチェーン

3,618 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,618
On SlideShare
0
From Embeds
0
Number of Embeds
60
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

MyBatisで流れるようなメソッドチェーン

  1. 1. MyBatisで流れるようなメソッドチェーン
  2. 2. MyBatisご存知ですか?
  3. 3. JavaのDAOフレームワークです。
  4. 4. MyBatisはテーブル定義からソースを自動生成できます!
  5. 5. 自動生成したソースを使ってこんな感じのソースがかけます!EmployeeEntityMapper mapper = manager.getMapper(EmployeeEntityMapper.class);EmployeeEntityExample example = new EmployeeEntityExample();example.createCriteria().andEmployeeCodeEqualTo("00001").andTaishaDateIsNull();List<EmployeeEntity> list = mapper.selectByExample(example);for (EmployeeEntity employee : list) { System.out.println(employee.getName());}
  6. 6. ・・・
  7. 7. かっこ悪
  8. 8. Playみたいに書きたい!
  9. 9. こんな感じでList<Post> posts = Post.all().fetch(100); // 100 max postsList<Post> posts = Post.all().from(50).fetch(100); // 100 max posts start at 50Post.find("byTitle", "My first post").fetch();
  10. 10. 頑張ってみた
  11. 11. 目標!List<Employee> list = Employee.where(). employeeCodeEqualTo("00001").and().taishaDateIsNull().from(50).fetch(100);for (Employee employee : list) { System.out.println(employee.getName());}
  12. 12. Where句はこんな感じで and/orwhere クライテリ order by fetch アの条件 fetch/count /update/delete from fetch
  13. 13. allは条件なしでこんな感じで order by fetch all fetch/count /update/delete from fetch
  14. 14. それぞれにインターフェースを用意する。
  15. 15. 完成!!
  16. 16. 実演!!
  17. 17. 結論MyBatisでもPlayみたいにサクサク可能条件にクライテリア使えるので、IDEと組み合わせて更にサクサクあとはMyBatisGeneratorを改良してこの(きもい大量IFを)自動生成するだけ
  18. 18. Thank You!

×