Mybatis-Project-myShop(환경설정)

임재헌·2023년 5월 17일

Mybatis

목록 보기
1/6

application.properties

# 톰캣 서버의 Http port 변경
server.port=9095

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

#JSP페이지가 수정이 되면 자동으로 서버 재시작
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521/xe
spring.datasource.username=system
spring.datasource.password=1234

#파일 업로드 용량 제한
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB

produc.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="product">
 <select id="list" resultType="java.util.Map">
<![CDATA[
select *
from product
order by product_name
]]>
</select>
</mapper>

Application.java 파일 수정

mapper 등록

package kr.co.itwill;

import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

@SpringBootApplication
public class Spring09MyshopApplication {

	public static void main(String[] args) {
		SpringApplication.run(Spring09MyshopApplication.class, args);
	}
	////////////////////////////////////////////////////////////////
	//db 연결 환경설정 파일 불러오기
	//spring mybatis프로젝트 MemTest클래스
	//mapper 등록
	
	@Bean	//내부적으로 객체를 생성해라
	//template에서 만든 정보를 데이터소스에 가져온다
	public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
		SqlSessionFactoryBean bean=new SqlSessionFactoryBean();
		
		bean.setDataSource(dataSource);
		Resource[] res=new PathMatchingResourcePatternResolver().getResources("classpath:mappers/*.xml");
		
		bean.setMapperLocations(res);
		return bean.getObject();
		// spring boot +my batis 그대로 사용하면 된다
	}
	////////////////////////////////////////////////////////
	
	/////////mapper에서 sql 쿼리문을 가져오면 자동으로 변환시켜 준다
	@Bean
	public SqlSessionTemplate sqlSession(SqlSessionFactory factory) {
		return  new SqlSessionTemplate(factory);
	}	
}

productDAO

package kr.co.itwill.product;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

@Repository
public class ProductDAO {

	public ProductDAO() {
		System.out.println("---ProductDAO() 생성");
	}
	
	//스프링 빈으로 생성된 객체를 가져와서 연결
	@Autowired
	SqlSession sqlSession;
	
	public List<Map<String, Object>> list(){
		return sqlSession.selectList("produc.list");
	}
}
package kr.co.itwill.product;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;


@Controller
public class ProductController {
	public ProductController() {
		System.out.println("----------ProductController() 생성");
	}


	//이미 생성된 객체 @Autowired
	@Autowired
	ProductDAO productDAO;
}

0개의 댓글