주말복습-2

bitna's study note·2022년 7월 3일

스프링

목록 보기
8/54

7월 3일

MVC모델2 로 플젝 만들기 by 스프링





위와 같은 방식으로 플젝 진행 예정

1.초기설정 하기
(1)플젝을 생성 하도 poom.xml을 설정한다.
(2)자바버젼

<java-version>11</java-version> 

(3)스프링프레임워크버젼

<org.springframework-version>5.2.7.RELEASE</org.springframework-version>

(4)스프링프레임워크 추가 라이브러리 설정
spring-webmvc 복사해서 아래와 같이 설정
DB연결 관련된 설정으로 DB연결이 잘되었는지 테스트 하기위함

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

(5)hikariCP 설정

<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
		<dependency>
		    <groupId>com.zaxxer</groupId>
		    <artifactId>HikariCP</artifactId>
		    <version>4.0.3</version>
		</dependency>

(6)mybatis 와 mybatisSpring 설정

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
		<dependency>
		    <groupId>org.mybatis</groupId>
		    <artifactId>mybatis</artifactId>
		    <version>3.5.7</version>
		</dependency>
		
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
		<dependency>
		    <groupId>org.mybatis</groupId>
		    <artifactId>mybatis-spring</artifactId>
		    <version>2.0.6</version>
		</dependency>

(7)log4j 버젼 설정
버젼올리고 exclusions 하단 다 자르고 scope까지 삭제

<version>1.2.17</version>

(8)메이븐에서 javax.servlet-api 가져와서 붙여넣기

		<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
		<dependency>
		    <groupId>javax.servlet</groupId>
		    <artifactId>javax.servlet-api</artifactId>
		    <version>4.0.1</version>
		    <scope>provided</scope>
		</dependency>

(9)junit 버젼 설정하기

<version>4.12</version>

(10)lombok 설정

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
		<dependency>
		    <groupId>org.projectlombok</groupId>
		    <artifactId>lombok</artifactId>
		    <version>1.18.24</version>
		    <scope>provided</scope>
		</dependency>

(11)log4jdbc 설정

<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4 -->
		<dependency>
		    <groupId>org.bgee.log4jdbc-log4j2</groupId>
		    <artifactId>log4jdbc-log4j2-jdbc4</artifactId>
		    <version>1.16</version>
		</dependency>

(12)maven버젼 설정

<source>11</source>
<target>11</target>

(13)jdbc추가
자바빌드페스->라이브러리탭->클래스패스->add External..->ojdbc8.jar가 있는 곳까지 찾아서 추가해줌

(14)Deployment Assembly 설정
Deployment Assembly->add->ojdbc8.jar추가

2.테이블 만들기
sql Developer로 테이블 작성하기

3.jdbc root-context 설정
(1)root-context 설정
jdbc 를 쓸때 스프링에게 나 jdbc 아래 설정처럼 쓸거라고 알려줘야함

	<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
     <!-- log4jdbc 를 사용하기 위해 이부분 주석 처리  아래와 같이 수정해줌
     <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
     <property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:xe"></property>
     -->
     <property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
     <property name="jdbcUrl" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:xe"></property>
     <property name="username" value="scott" ></property>
     <property name="password" value="tiger"></property>
  	 </bean>
   
	  <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
	    <constructor-arg ref="hikariConfig"></constructor-arg>
	  </bean>
	  
	  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	  	<property name="dataSource" ref="dataSource"></property>
	  </bean>
	  
	  <mybatis-spring:scan base-package="com.keduit.mapper"/>

(2)Namespaces
beans,context,mybatis 설정하기

(3)log4jdbc 사용하기 위한 property설정
src>main>resources 에 fail만들어서 아래와 같이 property 설정하기
기존에 있던 파일 복붙해도됨

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

(4)jdbc connection이 잘되었는지 확인 테스트해보기
src>test>java 에서 JDBCTest class 작성

package com.keduit.persistence;

import static org.junit.Assert.fail;

import java.sql.Connection;
import java.sql.DriverManager;

import org.junit.Test;

import com.keduit.persistence.JDBCTest;

import lombok.extern.log4j.Log4j;

@Log4j
public class JDBCTest {
	static {
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	@Test
	public void testConnection() {
		try (Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","scott","tiger"))
		//try에 괄호안에 소스를 넣어주면 close를 안해줘도 됨
		{
			log.info(conn);
		}catch (Exception e) {
			fail(e.getMessage());
		}
	}
}

4.log4j.xml 설정
불필요한 정보가 콘솔에 나오는걸 방지하기위한 설정
src>test>resources 에서
log4j.xml 설정

<logger name="jdbc.audit">
		<level value="warn"/>
	</logger>
	
	<logger name="jdbc.resultset">
		<level value="warn"/>
	</logger>
	
	<logger name="jdbc.connection">
		<level value="warn"/>
	</logger>

5.DataSourcePool이 잘 작성이 되었는지 확인
src>test>java 에서 DataSourceTest class 작성

package com.keduit.persistence;

import static org.junit.Assert.fail;

import java.sql.Connection;

import javax.sql.DataSource;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
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.keduit.persistence.DataSourceTest;

import lombok.Setter;
import lombok.extern.log4j.Log4j;


@RunWith(SpringJUnit4ClassRunner.class) //SpringJUnit4ClassRunner.class 이클래스로 테스트 할때 쓸거야
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")//테스트 할때 참조를 하는 경로를 적어줌
@Log4j //뷰단에서 화면을 뿌려줄때 log관리는 Log4j로 할꺼야
public class DataSourceTest {
	
	@Setter(onMethod_=@Autowired)//스프링아 아래멤버 주입해죠
	private DataSource dataSource;
	
	@Setter(onMethod_=@Autowired)//스프링아 아래멤버 주입해죠
	private SqlSessionFactory sqlSessionFactory;
	
	@Test
	public void testConnection() {
		try(Connection conn=dataSource.getConnection()){
			log.info(conn);
		}catch (Exception e) {
			fail(e.getMessage());
		}
	}
	
	@Test
	public void testMyBatis() {
		
		//여기서의 Session 은 MyBatis의 Session으로 connection 연결을 담당하고 있다.
		try(SqlSession session = sqlSessionFactory.openSession();
			Connection conn =session.getConnection()){
			log.info(session);
			log.info(conn);
		}catch (Exception e) {
			fail(e.getMessage());
		}
		
	}
	
}

6.persistence(영속계층)의 처리방법
(1)테이블을 반영하는 VO(Value Object)클래스의 생성,멤버변수만 작성하믄됨 왜??getter,setter는 Mapper에서 지원해줌
(2)MyBatis의 Mapper인터페이스의 작성/xml 처리
->MyBatis야~나 테이블에 있는 데이터를 읽어와애데, 수정할꺼야 등등 이런 명령을 적어줌
(3)작성한 Mapper 인터페이스의 테스트

7.persistence(영속계층) 만들기
(1)VO만들기
src>main>java 에 클래스 만들기

package com.keduit.domain;

import java.util.Date;

import lombok.Data;

@Data
public class BoardVO {
	private long bno;
	private String title;
	private String content;
	private String writer;
	private Date regdate;
	private Date updatedate;
}

(2)Mapper 작성
root-context에 아래 작성 되었는지 확인

<mybatis-spring:scan base-package="com.keduit.mapper"/>

(3)src>main>java 에 인터페이스 만들기

package com.keduit.Mapper;

import java.util.List;

import org.apache.ibatis.annotations.Select;

import com.keduit.domain.BoardVO;

public interface BoardMapper {
	@Select("Select*from t_board where bno>0")
	public List<BoardVO> getList(); //추상 메서드 만들기
}

(4)잘 작성이 되었는지 테스트
src>test>java

package com.keduit.mapper;

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.keduit.Mapper.BoardMapper;
import com.keduit.persistence.DataSourceTest;

import lombok.Setter;
import lombok.extern.log4j.Log4j;

@RunWith(SpringJUnit4ClassRunner.class) //SpringJUnit4ClassRunner.class 이클래스로 테스트 할때 쓸거야
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")//테스트 할때 참조를 하는 경로를 적어줌
@Log4j //뷰단에서 화면을 뿌려줄때 log관리는 Log4j로 할꺼야
public class BoardMapperTest {
	
	@Setter(onMethod_=@Autowired)//스프링아 주입해죠
	private BoardMapper mapper;//테스트할 부분을 선언,선언하면 스프링에서 bean으로 등록해줌
	
	@Test
	public void testGetList() {
		
		//mapper의 getList메서드를 호출하여 forEach통해 변수 board에 담고 log.info로 board를 출력한다.
		mapper.getList().forEach(board->log.info(board));	
		
	}

}

8.persistence(영속계층) 만들기_xml방식으로
(1)src>test>resouse에 폴더 만들기->xml파일 만들어서 설정

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<mapper namespace="com.keduit.mapper.BoardMapper">
	<select id="getList" resultType="com.keduit.domain.BoardVO">
	<![CDATA[ //xml이 알아먹기 위하여 포장해줌
	Select*from t_board where bno>0
	]]>
	</select>
    
</mapper>

BoardMapper 에 있는 @Select 내용을 xml이 대신 가지고 있다가 필요할때마다 꺼내서줌

(2)src>test>java에 있는 BoardMapperTest로 잘 작성이 되었는지 확인

9.insert 설정해보기_xml방식으로
(1)src>test>resouse에 폴더 만들기->xml파일 만들어서 설정
중요!!! insert 할때 prestatement 형식으로 (?,?,?) 넣어주는 부분을 설정할때
아래와같이 ? 대신하여 #{title},#{content},#{writer} 를 설정한다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<mapper namespace="com.keduit.Mapper.BoardMapper">
	<select id="getList" resultType="com.keduit.domain.BoardVO">
	<![CDATA[
	Select*from t_board where bno>0
	]]>
	</select>
	
	<insert id="insert">
	insert into t_board(bno,title,content,writer)
	values(seq_board.nextval,#{title},#{content},#{writer})
	</insert>
</mapper>

(2)src>main>resouse
BoardMapper 인터페이스에 insert 넣어서 설정하기

package com.keduit.Mapper;

import java.util.List;

import org.apache.ibatis.annotations.Select;

import com.keduit.domain.BoardVO;

public interface BoardMapper {
//	@Select("Select*from t_board where bno>0") xml설정 사용 안할시 사용벙법
	public List<BoardVO> getList(); //BoardMapper.xml 사용시 내용을 받아 처리하는 메서드
	
	public void insert(BoardVO board);//BoardMapper.xml 사용시 내용을 받아 처리하는 메서드
	
}

(3)src>test>java에 있는 BoardMapperTest로 잘 작성이 되었는지 확인

package com.keduit.mapper;

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.keduit.Mapper.BoardMapper;
import com.keduit.domain.BoardVO;
import com.keduit.persistence.DataSourceTest;

import lombok.Setter;
import lombok.extern.log4j.Log4j;

@RunWith(SpringJUnit4ClassRunner.class) //SpringJUnit4ClassRunner.class 이클래스로 테스트 할때 쓸거야
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")//테스트 할때 참조를 하는 경로를 적어줌
@Log4j //뷰단에서 화면을 뿌려줄때 log관리는 Log4j로 할꺼야
public class BoardMapperTest {
	
	@Setter(onMethod_=@Autowired)//스프링아 주입해죠
	private BoardMapper mapper;//테스트할 부분을 선언,선언하면 스프링에서 bean으로 등록해줌
	
	@Test
	public void testInsert() {
		BoardVO board =new BoardVO();
		board.setTitle("안녕하세요");
		board.setContent("내용내용 입니다.");
		board.setWriter("김자바");
		
		mapper.insert(board);
		log.info(board);
	}
	
}

10.insert(primery key 알아내기)_xml방식으로

(1)src>test>resouse에 폴더 만들기->xml파일 만들어서 설정
insertSelectKey 설정을 보면 selectKey 를 order="BEFORE" 로 설정해 놓았기 때문에 먼저 실행이 되고, 그 다음에 바깥에 insert 문이 실행이 됨
selectKey 가 먼저 실행 되면서 bno에 값을 넣어주고, 바깥에 insert 문이 bno의 값을 받아 처리함

일반 insert문은 bno가 아니라 seq_board.nextval 로 표시함

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<mapper namespace="com.keduit.Mapper.BoardMapper">
	<select id="getList" resultType="com.keduit.domain.BoardVO">
	<![CDATA[
	Select*from t_board where bno>0
	]]>
	</select>
	
	<insert id="insert">
	insert into t_board(bno,title,content,writer)
	values(seq_board.nextval,#{title},#{content},#{writer})
	</insert>
	
	<insert id="insertSelectKey">
		<selectKey keyProperty="bno" order="BEFORE" resultType="long">
		select seq_board.nextval from dual
		</selectKey>
		insert into t_board(bno,title,content,writer)
		values(#{bno},#{title},#{content},#{writer})
	</insert>
	
</mapper>

(2)src>main>resouse
BoardMapper 인터페이스에 insertSelectKey 넣어서 설정하기

package com.keduit.Mapper;

import java.util.List;

import org.apache.ibatis.annotations.Select;

import com.keduit.domain.BoardVO;

public interface BoardMapper {
//	@Select("Select*from t_board where bno>0") xml설정 사용 안할시 사용벙법
	public List<BoardVO> getList(); //BoardMapper.xml 사용시 내용을 받아 처리하는 메서드
	
	public void insert(BoardVO board);//BoardMapper.xml 사용시 내용을 받아 처리하는 메서드
	
	public void insertSelectKey(BoardVO board);//BoardMapper.xml 사용시 내용을 받아 처리하는 메서드
	
}

(3)src>test>java에 있는 BoardMapperTest로 잘 작성이 되었는지 확인

package com.keduit.mapper;

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.keduit.Mapper.BoardMapper;
import com.keduit.domain.BoardVO;
import com.keduit.persistence.DataSourceTest;

import lombok.Setter;
import lombok.extern.log4j.Log4j;

@RunWith(SpringJUnit4ClassRunner.class) //SpringJUnit4ClassRunner.class 이클래스로 테스트 할때 쓸거야
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")//테스트 할때 참조를 하는 경로를 적어줌
@Log4j //뷰단에서 화면을 뿌려줄때 log관리는 Log4j로 할꺼야
public class BoardMapperTest {
	
	@Setter(onMethod_=@Autowired)//스프링아 주입해죠
	private BoardMapper mapper;//테스트할 부분을 선언,선언하면 스프링에서 bean으로 등록해줌
	
	@Test
	public void testInsertSelectKey() {
		BoardVO board =new BoardVO();
		board.setTitle("안뇽");
		board.setContent("나는 또다른 내용이야.");
		board.setWriter("박자바");
		
		mapper.insertSelectKey(board);
		log.info(board);
	}
	
}

11.한건씩 읽어오기_xml방식으로
(1)src>test>resouse에 폴더 만들기->xml파일 만들어서 설정

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<mapper namespace="com.keduit.Mapper.BoardMapper">
	
	<select id="read" resultType="com.keduit.domain.BoardVO">
		select*from t_board where bno=#{bno}
	</select>
	
</mapper>

(2)src>main>resouse
BoardMapper 인터페이스에 read 넣어서 설정하기

package com.keduit.Mapper;

import java.util.List;

import org.apache.ibatis.annotations.Select;

import com.keduit.domain.BoardVO;

public interface BoardMapper {
	
	public BoardVO read(long bno);//BoardMapper.xml 사용시 내용을 받아 처리하는 메서드
	
}

(3)src>test>java에 있는 BoardMapperTest로 잘 작성이 되었는지 확인

package com.keduit.mapper;

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.keduit.Mapper.BoardMapper;
import com.keduit.domain.BoardVO;
import com.keduit.persistence.DataSourceTest;

import lombok.Setter;
import lombok.extern.log4j.Log4j;

@RunWith(SpringJUnit4ClassRunner.class) //SpringJUnit4ClassRunner.class 이클래스로 테스트 할때 쓸거야
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")//테스트 할때 참조를 하는 경로를 적어줌
@Log4j //뷰단에서 화면을 뿌려줄때 log관리는 Log4j로 할꺼야
public class BoardMapperTest {
	
	@Setter(onMethod_=@Autowired)//스프링아 주입해죠
	private BoardMapper mapper;//테스트할 부분을 선언,선언하면 스프링에서 bean으로 등록해줌
	
	@Test
	public void testRead() {
		BoardVO board =new BoardVO();
		board=mapper.read(7L);
		log.info(board);
	}
	
}

12.게시물 삭제
(1)src>test>resouse에 폴더 만들기->xml파일 만들어서 설정

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<mapper namespace="com.keduit.Mapper.BoardMapper">
	
	<delete id="delete">
		delete from t_board where bno=#{bno}
	</delete>
	
</mapper>

(2)src>main>resouse
BoardMapper 인터페이스에 delete 넣어서 설정하기

package com.keduit.Mapper;

import java.util.List;

import org.apache.ibatis.annotations.Select;

import com.keduit.domain.BoardVO;

public interface BoardMapper {
	
	public int delete(long bno);//BoardMapper.xml 사용시 내용을 받아 처리하는 메서드
	
}

(3)src>test>java에 있는 BoardMapperTest로 잘 작성이 되었는지 확인

package com.keduit.mapper;

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.keduit.Mapper.BoardMapper;
import com.keduit.domain.BoardVO;
import com.keduit.persistence.DataSourceTest;

import lombok.Setter;
import lombok.extern.log4j.Log4j;

@RunWith(SpringJUnit4ClassRunner.class) //SpringJUnit4ClassRunner.class 이클래스로 테스트 할때 쓸거야
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")//테스트 할때 참조를 하는 경로를 적어줌
@Log4j //뷰단에서 화면을 뿌려줄때 log관리는 Log4j로 할꺼야
public class BoardMapperTest {
	
	@Setter(onMethod_=@Autowired)//스프링아 주입해죠
	private BoardMapper mapper;//테스트할 부분을 선언,선언하면 스프링에서 bean으로 등록해줌
	
	@Test
	public void testdelete() {
		int result=mapper.delete(11L);
		log.info(result);
	}
	
}

13.게시물 update 하기
(1)src>test>resouse에 폴더 만들기->xml파일 만들어서 설정

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<mapper namespace="com.keduit.Mapper.BoardMapper">
	
	<update id="update">
	update t_board set title=#{title}, content=#{content}, writer=#{writer},
	updatedate=sysdate where bno=#{bno}
	</update>
	
</mapper>

(2)src>main>resouse
BoardMapper 인터페이스에 update넣어서 설정하기

package com.keduit.Mapper;

import java.util.List;

import org.apache.ibatis.annotations.Select;

import com.keduit.domain.BoardVO;

public interface BoardMapper {

	public int update(BoardVO board);
}

(3)src>test>java에 있는 BoardMapperTest로 잘 작성이 되었는지 확인

package com.keduit.mapper;

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.keduit.Mapper.BoardMapper;
import com.keduit.domain.BoardVO;
import com.keduit.persistence.DataSourceTest;

import lombok.Setter;
import lombok.extern.log4j.Log4j;

@RunWith(SpringJUnit4ClassRunner.class) //SpringJUnit4ClassRunner.class 이클래스로 테스트 할때 쓸거야
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")//테스트 할때 참조를 하는 경로를 적어줌
@Log4j //뷰단에서 화면을 뿌려줄때 log관리는 Log4j로 할꺼야
public class BoardMapperTest {
	
	@Setter(onMethod_=@Autowired)//스프링아 주입해죠
	private BoardMapper mapper;//테스트할 부분을 선언,선언하면 스프링에서 bean으로 등록해줌
	
	@Test
	public void testupdate() {
		BoardVO board =new BoardVO();
		board.setTitle("수정");
		board.setContent("내용수정");
		board.setWriter("글쓴이");
		board.setBno(12);
		
		int result=mapper.update(board);
		log.info("결과=>"+result);
	}
	
}
profile
좋은개발자가 되기위한 삽질기록 노트

0개의 댓글