데이터 관리를 DBMS에게 맡기기
자바 컬렉션 API 활용 : 자바 컬렉션 API 사용하기
cmd + shift + o : import 해오기
com.eomcs.mylist.dao.JsonBoardDao.java
java ObjectMapper json to collection 검색
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)));
MariaDB JDBC 드라이버 추가
// MariaDB JDBC 드라이버
implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.3'
2단계 - 테이블 생성
3단계 - jdbcXxxDao 객체를 생성한다