projectlombok.org/download
Specify locatio... - sts 설치폴더-sts.exe 선택-install
CGLib - 2.2.2
mvnrepository.com
lombok 검색 - Project Lombok 선택 - 1.18.20버전 선택-나온 코드 복사-pom.xml 파일 110라인쯤(디펜던시 있는 장소 아무데나)
spring-jdbc 3.3.1 release 검색
[라이브러리 추가]
현재 프로젝트/pom.xml
<!-- spring-jdbc 라이브러리 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
------------------------------------------------
<!-- lombok 라이브러리 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
------------------------------------------------
<!-- cglib(애노테이션) 라이브러리 -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2.2</version>
</dependency>
------------------------------------------------
<!-- c3p0(스프링 커넥션풀 설정) 라이브러리 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
-------------------------------------------------
<!-- Spring AOP aspectjweaver 라이브러리-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.5</version>
</dependency>
-------------------------------------------------
<!-- mybatis 프레임워크 라이브러리-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.1.1</version>
</dependency>
<!-- mybatis-spring 라이브러리 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.1</version>
</dependency>
[한글 인코딩]
현재 프로젝트/WEB-INF/web.xml
<!-- 한글 인코딩 설정 작업 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
[데이터베이스 연결(스프링 작업 시 설정 파일 설정하는 공간)]
현재 프로젝트/WEB-INF/spring/root-context.xml
<!-- JDBCTemplate 연결 시 -->
<!-- 1. DataSource 정보 설정 ==> DB와 관계된 connection(연결방식) 정보 객체 -->
<bean name="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
<property name="username" value="web"/>
<property name="password" value="1234"/>
</bean>
<!-- 2.Spring JDBCTemplate 클래스 설정 -->
<bean name="template" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
-----------------------------------------------------------------------------------
<!-- MyBatis 연결 시 -->
<!-- 1. c3p0 커넥션풀 DataSource 클래스 설정 -->
<bean name="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:XE" />
<property name="user" value="web" />
<property name="password" value="1234" />
</bean>
<!-- 2. SqlSessionFactory 클래스 설정 -->
<bean name="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:/mapper/*.xml" />
</bean>
<!-- 3.SqlSessionTemplate 클래스 설정 -->
<bean name="sqlSession"
class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"></constructor-arg>
</bean>
[context:component-scan 경로 패키지 삭제]
현재 프로젝트/main/webapp/WEB-INF-spring-appServlet/servlet-context.xml
[mapper 패키지 생성]
[MyBatis XML 파일 설정]
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace 명은 패키지 포함해서 인터페이스 이름으로 작성
namespace는 mapper 툴을 구분하는 식별자로 매우 중요
속성의 id는 중복 불가
resultType은 반환할 객체 타입명(제너릭) -->
<mapper namespace="com.spring.model.EmpDAO">
<select id="allList" resultType="com.spring.model.EmpDTO">
select * from emp order by empno
</select>
</mapper>
constructor-arg 인자 생성자에 지정된 매개변수
@NoArgsConstructor : 인자를 갖지 않는 생성자
@AllArgsConstructor : 멤버 전체를 인자로 가지는 생성자
namespaces 탭
c constructor의 약자 c:manager -> 인자 생성자에 선언된 manager라는 매개변수
p property의 약자
프로젝트 오른쪽 클릭 -> build path -> configure build Path -> Libraries 탭 -> Add External JARs... -> ojdbc6.jar 첨부
'Back > spring' 카테고리의 다른 글
[스프링 첫페이지 아예 안 열릴 때] Context initialization failed / Error creating bean with name '***Controller': Injection of autowired dependencies failed; (0) | 2021.07.01 |
---|---|
MyBatis 개념 (0) | 2021.06.30 |
javax.servlet.ServletException: 서블릿 [appServlet]을(를) 위한 Servlet.init() 호출이 예외를 발생시켰습니다. (0) | 2021.06.30 |
스프링 컨테이너(spring container) 기본 흐름 (0) | 2021.06.22 |
spring 기본 개념 (0) | 2021.06.22 |