2022-03-08(화)

Jeongyun Heo·2022년 3월 8일
0

데이터 관리를 DBMS에게 맡기기

자바 컬렉션 API 활용 : 자바 컬렉션 API 사용하기

cmd + shift + o : import 해오기

com.eomcs.mylist.dao.JsonBoardDao.java

java ObjectMapper json to collection 검색

https://becko.tistory.com/47

json에서 대괄호는 배열을 의미
{} 중괄호는 객체
O:O 프로퍼티

ArrayList에 add 하고 싶음

addAll

ObjectMapper
JSON 텍스트 -> 자바 객체
자바 객체 -> JSON 텍스트

ObjectMapper.readValue(json File, Board[].class)
-> 리턴하는 건 Board[] 배열

addAll(Collection)
-> 근데 얘가 원하는 건 collection 객체

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/AbstractCollection.html

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html

부분 목록만 추출하는 subList()도 있다

<<concrete>> ArrayList
Collection에 있는 메서드를 다 갖고 있으면서 List에 있는 메서드를 다 갖고 있다.

Collection 규칙에 따라 만든 되지만 배열은 안 된다
Collection 타입으로 교체해야 한다

  public JsonBoardDao() {
    try {
      ObjectMapper mapper = new ObjectMapper();
      boardList.addAll(mapper.readValue(new File(filename), new TypeReference<List<Board>>(){}));

boardList.addAll(mapper.readValue(new File(filename), JSON 텍스트를 어떤 타입의 객체로 변환할 것인지));

  public JsonBoardDao() {
    try {
      ObjectMapper mapper = new ObjectMapper();
      boardList.addAll(mapper.readValue(new File(filename), 
          mapper.getTypeFactory().constructCollectionType(List.class, Board.class)));
  public JsonBoardDao() {
    try {
      ObjectMapper mapper = new ObjectMapper();
      Collection<Board> list = mapper.readValue(new File(filename), 생성할 목록의 타입 정보);
      boardList.addAll(mapper.readValue(new File(filename), 
          mapper.getTypeFactory().constructCollectionType(List.class, Board.class)));
      ObjectMapper mapper = new ObjectMapper();
      TypeFactory 타입정보생성기 = mapper.getTypeFactory();
      CollectionType 컬렉션타입정보 = 타입정보생성기.constructCollectionType(List.class, Board.class);
      ObjectMapper mapper = new ObjectMapper();
      TypeFactory 타입정보생성기 = mapper.getTypeFactory();
      CollectionType 컬렉션타입정보 = 타입정보생성기.constructCollectionType(List.class, Board.class);
      Collection<Board> list = mapper.readValue(new File(filename), // JSON 데이터
          컬렉션타입정보 // 생성할 목록의 타입 정보(JavaType 객체)
          );
      boardList.addAll(list);
      boardList.addAll(mapper.readValue(new File(filename),
          mapper.getTypeFactory().constructCollectionType(List.class, Board.class)));

10.1 - DBMS 적용

MariaDB JDBC 드라이버 추가

  // MariaDB JDBC 드라이버
  implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.3'

2단계 - 테이블 생성

3단계 - jdbcXxxDao 객체를 생성한다

0개의 댓글