● 69일차 코딩학원 공부 내용 정리
1. 오늘부터 게시판 만들기에 들어간다. mybatis를 쓴다고 한다.
2. 퍼시스턴스 프레임워크, ORM이라는 단어가 나왔다. 퍼시스턴스 프레임워크에 MyBatis가 포함되는데, 이것을 사용하면 데이터를 입력하고 저장하는 과정을 추상화하여 개발자가 더 쉽게 데이터를 다룰 수 있게 된다고 한다. 기능으로 Mapping이 있다.
3. 노트북에 Spring을 깔았는데 오류가 난다. JavaJDK버전 문제라는데... 복잡하네 정말...
java설치부터 Spring설치까지 다시 해봐야겠어. 방법이 있을 거야.
4. 오늘 내용은 평소보다 복잡하게 느껴진다. 복붙이 많다보니 과정을 모두 생략한 느낌이다.
5. DAO를 추가했었고... DB부분을 mybatis없이 했다. 오늘은 mybatis를 사용하는 중임.
6. 위기다. 강의를 꼭 들어야겠다. 오늘은 남아서 SpringMVC강의를 듣자....
7. 내가 만든 것인데 왜 만들었을까... 어디에 쓸까... 도무지 모르겠네.....
8. 이걸 만든 이유가 CRED 때문이라고 한다. CRED란 무엇인가?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver"/>
<property name="url" value="jdbc:postgresql://localhost:5432/postgres"/>
<property name="username" value="postgres"/>
<property name="password" value="0629"/>
</bean>
<aop:aspectj-autoproxy />
<context:component-scan base-package="com.earth.heart" />
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="datasource"></property>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<property name="mapperLocations" value="classpath: mapper/*Mapper.xml"/>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean>
</beans>
9. 띄어쓰기 때문에 오류가 났다. 오늘하는 건 정말 어렵구나. 우리 차근차근 친해져보자.
10. 인터페이스 상속받으려면 메서드를 모두 구현해야한다.
11. 처음보는 식이 나왔다. 뭔지 잘모르겠지만 받아들여보자.
12. 오류가 났다. assertTrue(boardDTO.getBno().equals(1)); 이부분을 주석처리 하지 않았기 때문이다.
먼저 1번 bno에 데이터를 입력해줬기 때문에 다시 1번과 같은 데이터를 넣으려고 하면 오류가 난다.
assertTrue는 참거짓을 판별한다. boardDTO.getBno().equals(1)이 참이면 테스트과 통과된다. 거짓이면 실패한다.
package com.earth.heart;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.earth.heart.dao.BoardDao;
import com.earth.heart.domain.BoardDTO;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/**/root-context.xml")
public class BoardDaoImplTest {
@Autowired
private BoardDao boardDao;
@Test
public void selectTest() throws Exception {
assertTrue(boardDao != null);
System.out.println("boardDao = " + boardDao);
BoardDTO boardDTO = boardDao.select(1);
System.out.println("boardDTO = " + boardDTO);
//assertTrue(boardDTO.getBno().equals(1));
boardDao.deleteAll();
boardDTO = new BoardDTO("Pioneering", "Ready for action", "earth");
boardDao.insert(boardDTO);
boardDTO = boardDao.select(3);
System.out.println("boardDTO =" + boardDTO);
assertTrue(boardDTO.getBno().equals(3));
}
}
'코딩 학원(국비지원)' 카테고리의 다른 글
71일차 코딩학원 (1) | 2023.05.01 |
---|---|
70일차 코딩학원. 오류하나 덕분에 하루종일 고민함 (0) | 2023.04.28 |
68일차 코딩학원 (0) | 2023.04.26 |
67일차 코딩학원 (0) | 2023.04.25 |
66일차 코딩학원 (0) | 2023.04.24 |