2시간만에자바 데이터처리를쉽게 배우고 싶어요.  okjsp 기본 세미나 #2   kenu@okjsp.pe.kr
첫 시간1. 가위,바위,보와 승률 (난수와 배열, ArrayList)2. 주머니 속의 데이터 (HashMap)3. 데이터 다루기 (Sort, Collection Framework)
가위, 바위, 보 출력public static void main(String[] args) {  String item1 = "가위";  System.out.println(item1);  String item2 = "바위...
배열로 바꾸면   public static void main(String[] args) {    String[] items = {"가위", "바위", "보"};      System.out.println(items[0]...
반복문을 적용하면   public static void main(String[] args) {    String[] items = {"가위", "바위", "보"};      for (int i = 0; i < items...
내가 선택한 것   System.out.print("----n선택하세요:");      Scanner scanner = new Scanner(System.in);   String next = scanner.next();...
컴퓨터가 선택한 것int computerChoice = new Random().nextInt(3);System.out.print("com:" + items[computerChoice]);Random()이 Random()...
컴퓨터가 선택한 것int computerChoice =      new Random(System.nanoTime()).nextInt(3);System.out.print("com:" + items[computerChoic...
승률• 전체 기록• java.util.ArrayList<Game> 에 담고 계산• list.add(game)• 관련 소스  •   https://github.com/kenu/gawi/commit/      e5ab5da...
주머니 속의 데이터• Map• Key, Value               image from: http://mbed.org/cookbook/ConfigFile
HashMappublic static void main(String[] args) {    HashMap<String, Person> map = new HashMap<String, Person>();    map.put...
VO, DTO• Value Object : 값 객체• Data Transfer Object : 요즘 사용• Getters, Setters
Personpublic class Person implements {              !   }!     private int age;                        !   public void set...
Sortpublic static void main(String[] args) {   int [] ages= {25,32,19,27,24};   for (int i = 0; i < ages.length; i++) {   ...
Sort-String   String str = "나,다,가";   String[] arr = str.split(",");   Arrays.sort(arr, new Comparator<String>() {        ...
Sort-ObjectPerson person1 = new Person(15, "서현");Person person2 = new Person(17, "효연");Person person3 = new Person(17, "제시...
Sort-Object#2for (Person person : list) {   System.out.println(person.getAge() + ":" + person.getName());}Collections.sort...
Comparablepublic class Person   implements Comparable<Person>   {     private int age;     private String name;...     @Ov...
Collection Frameworks    image from: http://en.wikipedia.org/wiki/File:Java_collection_framework.jpg
두번째 시간• 데이터를 두고보자 (Database와 SQL)• 자바로 데이터베이스 사용하기 (JDBC)• JDBC를 조금 더 편하게 (MyBatis)
두고보자 데이터• Database• 데이터 저장소• 영속성 Persistence
Databasehttp://www.dbametrix.com/db2-oracle-server.html   http://www.digzip.com/software/ko/developer-tools/postgresql-8-4...
CRUD•CREATE READ UPDATE DELETE
SQLStructured Query Language• SELECT * FROM DATA_TABLE;• INSERT INTO (COLUMN1, COLUMN2)     VALUES (value1, number);•   UP...
http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html#MySQL DBCP                   Example
JDBCJava DataBase Connectivity• 자바로 데이터베이스 사용하기 (JDBC)
접속방법Class.forName("com.mysql.jdbc.Driver");Connection conn =  DriverManager.getConnection(  "jdbc:mysql://localhost:3306/j...
필요 파일mysql-connector-java-5.1.18-bin.jar
데이터 처리 절차•// getConnection()•// Statement "select * from game"•// ResultSet•// 데이터 처리•// close ResultSet•// close Statemen...
Sample Sourcehttps://github.com/kenu/gawi/blob/step7-   db/gawibawibo/src/net/okjsp/gawi/          DataAccessObject.java
MyBatis• JDBC를 조금 더 편하게 (MyBatis)• http://www.mybatis.org/• 옛날 iBatis http://ibatis.apache.org/
MyBatis• SQL문을 Map에 넣고 Mapper를 통해서 처리
필요파일• mybatis-3.0.6.jar• JDBC Configuration.xml• SQL Mapper.xml
소스 리뷰https://github.com/kenu/gawi/tree/step9-  insert/gawibawibo/src/net/okjsp/gawi
WARNING데이터 저장시 주의. 비번 주민번호
더 배워야 할 것들• 관계형 데이터베이스 RDB• index 데이터색인• NoSQL• Hibernate, EJB• Collection Frameworks• ...
related sites• https://github.com/kenu/gawi• http://www.mysql.com/• http://www.mybatis.org/• http://www.slideshare.net/ken...
2시간만에  자바 데이터처리를 쉽게 배우고 싶어요.
Upcoming SlideShare
Loading in …5
×

2시간만에 자바 데이터처리를 쉽게 배우고 싶어요.

6,052 views

Published on

2시간만에
자바 데이터처리를
쉽게 배우고 싶어요.

가위,바위,보와 승률 (난수와 배열, ArrayList)
주머니속의 데이터 (HashMap)
데이터 다루기 (Sort, Collection Framework)

데이터를 두고보자 (Database와 SQL)
자바로 데이터베이스 사용하기 (JDBC)
JDBC를 조금 더 편하게 (MyBatis)

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,052
On SlideShare
0
From Embeds
0
Number of Embeds
2,006
Actions
Shares
0
Downloads
84
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 2시간만에 자바 데이터처리를 쉽게 배우고 싶어요.

    1. 1. 2시간만에자바 데이터처리를쉽게 배우고 싶어요. okjsp 기본 세미나 #2 kenu@okjsp.pe.kr
    2. 2. 첫 시간1. 가위,바위,보와 승률 (난수와 배열, ArrayList)2. 주머니 속의 데이터 (HashMap)3. 데이터 다루기 (Sort, Collection Framework)
    3. 3. 가위, 바위, 보 출력public static void main(String[] args) { String item1 = "가위"; System.out.println(item1); String item2 = "바위"; System.out.println(item2); String item3 = "보"; System.out.println(item3);}
    4. 4. 배열로 바꾸면 public static void main(String[] args) { String[] items = {"가위", "바위", "보"}; System.out.println(items[0]); System.out.println(items[1]); System.out.println(items[2]); }
    5. 5. 반복문을 적용하면 public static void main(String[] args) { String[] items = {"가위", "바위", "보"}; for (int i = 0; i < items.length; i++) { System.out.println(i + ":" +items[i]); } }
    6. 6. 내가 선택한 것 System.out.print("----n선택하세요:"); Scanner scanner = new Scanner(System.in); String next = scanner.next(); int choice = Integer.parseInt(next); System.out.print("----n선택:" + items[choice]);
    7. 7. 컴퓨터가 선택한 것int computerChoice = new Random().nextInt(3);System.out.print("com:" + items[computerChoice]);Random()이 Random()이 아니예요.new Random(seed number)new Random(System.nanoTime())그래서...
    8. 8. 컴퓨터가 선택한 것int computerChoice = new Random(System.nanoTime()).nextInt(3);System.out.print("com:" + items[computerChoice]);
    9. 9. 승률• 전체 기록• java.util.ArrayList<Game> 에 담고 계산• list.add(game)• 관련 소스 • https://github.com/kenu/gawi/commit/ e5ab5da2879398849dd6e4e377c19f349fd8243f
    10. 10. 주머니 속의 데이터• Map• Key, Value image from: http://mbed.org/cookbook/ConfigFile
    11. 11. HashMappublic static void main(String[] args) { HashMap<String, Person> map = new HashMap<String, Person>(); map.put("태연", new Person(15, "태연")); map.put("태연", new Person(15, "태연2")); map.put("서현", new Person(14, "서현")); map.put("제시카", new Person(15, "제시카")); System.out.println("size : " + map.size()); System.out.println(map.get("태연").getName()); System.out.println(map.get("제시카").getAge());
    12. 12. VO, DTO• Value Object : 값 객체• Data Transfer Object : 요즘 사용• Getters, Setters
    13. 13. Personpublic class Person implements { ! }! private int age; ! public void setAge(int age) {! private String name; ! ! this.age = age; ! }! public Person() {} ! public String getName() {! public Person(int age, String name) { ! ! return name;! ! super(); ! }! ! this.age = age; ! public void setName(String name) {! ! this.name = name; ! ! this.name = name;! } ! }! }! public int getAge() {! ! return age;
    14. 14. Sortpublic static void main(String[] args) { int [] ages= {25,32,19,27,24}; for (int i = 0; i < ages.length; i++) { System.out.print(ages[i] + " "); } Arrays.sort(ages); System.out.println("nsorted---->"); for (int i = 0; i < ages.length; i++) { System.out.print(ages[i] + " "); }
    15. 15. Sort-String String str = "나,다,가"; String[] arr = str.split(","); Arrays.sort(arr, new Comparator<String>() { public int compare(String o1, String o2) { return o1.compareTo(o2); } }); str = Arrays.toString(arr); str = str.substring(1, str.length() - 1); System.out.println(str);
    16. 16. Sort-ObjectPerson person1 = new Person(15, "서현");Person person2 = new Person(17, "효연");Person person3 = new Person(17, "제시카");Person person4 = new Person(16, "태연");ArrayList<Person> list = new ArrayList<Person>();list.add(person1);list.add(person2);
    17. 17. Sort-Object#2for (Person person : list) { System.out.println(person.getAge() + ":" + person.getName());}Collections.sort(list);System.out.println("sorted-->");for (Person person : list) { System.out.println(person.getAge() + ":" + person.getName());}
    18. 18. Comparablepublic class Person implements Comparable<Person> { private int age; private String name;... @Override public int compareTo(Person o) { return (this.age > o.age) ? -1 : (this.age == o.age ? 0 : 1); }}
    19. 19. Collection Frameworks image from: http://en.wikipedia.org/wiki/File:Java_collection_framework.jpg
    20. 20. 두번째 시간• 데이터를 두고보자 (Database와 SQL)• 자바로 데이터베이스 사용하기 (JDBC)• JDBC를 조금 더 편하게 (MyBatis)
    21. 21. 두고보자 데이터• Database• 데이터 저장소• 영속성 Persistence
    22. 22. Databasehttp://www.dbametrix.com/db2-oracle-server.html http://www.digzip.com/software/ko/developer-tools/postgresql-8-4-4-1/ http://bigdata.egloos.com/68694 http://findfun.tistory.com/41
    23. 23. CRUD•CREATE READ UPDATE DELETE
    24. 24. SQLStructured Query Language• SELECT * FROM DATA_TABLE;• INSERT INTO (COLUMN1, COLUMN2) VALUES (value1, number);• UPDATE DATA_TABLE SET COLUMN1 = value2 WHERE COLUMN1 = value1;• DELETE FROM DATA_TABLE WHERE COLUMN1 = value1;
    25. 25. http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html#MySQL DBCP Example
    26. 26. JDBCJava DataBase Connectivity• 자바로 데이터베이스 사용하기 (JDBC)
    27. 27. 접속방법Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/javatest", "javauser", "javadude");
    28. 28. 필요 파일mysql-connector-java-5.1.18-bin.jar
    29. 29. 데이터 처리 절차•// getConnection()•// Statement "select * from game"•// ResultSet•// 데이터 처리•// close ResultSet•// close Statement•// close Connection
    30. 30. Sample Sourcehttps://github.com/kenu/gawi/blob/step7- db/gawibawibo/src/net/okjsp/gawi/ DataAccessObject.java
    31. 31. MyBatis• JDBC를 조금 더 편하게 (MyBatis)• http://www.mybatis.org/• 옛날 iBatis http://ibatis.apache.org/
    32. 32. MyBatis• SQL문을 Map에 넣고 Mapper를 통해서 처리
    33. 33. 필요파일• mybatis-3.0.6.jar• JDBC Configuration.xml• SQL Mapper.xml
    34. 34. 소스 리뷰https://github.com/kenu/gawi/tree/step9- insert/gawibawibo/src/net/okjsp/gawi
    35. 35. WARNING데이터 저장시 주의. 비번 주민번호
    36. 36. 더 배워야 할 것들• 관계형 데이터베이스 RDB• index 데이터색인• NoSQL• Hibernate, EJB• Collection Frameworks• ...
    37. 37. related sites• https://github.com/kenu/gawi• http://www.mysql.com/• http://www.mybatis.org/• http://www.slideshare.net/kenu/ image from: http://www.flickr.com/photos/shindotv/3835362925

    ×