본문 바로가기
SpringBoot

[SpringBoot] SpringToolSuite

by 엘딘 2022. 3. 23.
1. pom.xml !추가
<dependency>
	...
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>		    
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>		    
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.10.1</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.10.1</version>
    </dependency>

    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-jdbc</artifactId>		    
    </dependency>

    <dependency>
       <groupId>org.mybatis.spring.boot</groupId>
       <artifactId>mybatis-spring-boot-starter</artifactId>   
       <version>2.2.0</version> 
    </dependency>

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>2.0.6</version>
    </dependency>

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.9</version>
    </dependency>

    <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.4</version>
    </dependency>
    
</dependency>

 

2. src/main/resources

    > apllication.properties !추가 :  DB 연결 

# port number set
server.port=3000

# DB set
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=hr
spring.datasource.password=hr

 

3. DatabaseConfig.java(복붙)
@Configuration
public class DatabaseConfig {

	@Bean
	public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
		System.out.println("DatabaseConfig sqlSessionFactory");
		
		SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
		sqlSessionFactoryBean.setDataSource(dataSource);
		
		Resource arrResource[] = new PathMatchingResourcePatternResolver().getResources("classpath:sqls/*.xml");
		sqlSessionFactoryBean.setMapperLocations(arrResource);
		sqlSessionFactoryBean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
		
		return (SqlSessionFactory)sqlSessionFactoryBean.getObject();		
	}
	
	@Bean
	public SqlSessionTemplate sqlSession(SqlSessionFactory sqlSessionFactory) {
		return new SqlSessionTemplate(sqlSessionFactory);
	}
	
}

 

4.  Sample01Application.java(복붙!)
@SpringBootApplication
public class RecipeApplication {

	public static void main(String[] args) {
		SpringApplication.run(RecipeApplication.class, args);
	}

}

 

5. WebConfig.java(복붙!)
@Configuration
public class WebConfig implements WebMvcConfigurer{

	@Override
	public void addCorsMappings(CorsRegistry registry) {
		// TODO Auto-generated method stub
		// WebMvcConfigurer.super.addCorsMappings(registry);
		
		// registry.addMapping("/**").allowedOrigins("http://localhost:8090");
		registry.addMapping("/**").allowedOrigins("*");
	}
	
}

 

6. Member.xml
<mapper namespace="mul.camp.a.dao.MemberDao">

//parameter: 데이터 가져오기, resultType: 데이터 내보내기
<select id="allMember" resultType="mul.camp.a.dto.MemberDto">
	SELECT * FROM MEMBER
</select>

</mapper>

 

7.  MemberDto
public class MemberDto {

	private String id;
	private String pwd;
	private String name;
	private String email;
	private int auth;
	
	public MemberDto() {
	}

	public MemberDto(String id, String pwd, String name, String email, int auth) {
		super();
		this.id = id;
		this.pwd = pwd;
		this.name = name;
		this.email = email;
		this.auth = auth;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public int getAuth() {
		return auth;
	}

	public void setAuth(int auth) {
		this.auth = auth;
	}	
}

 

8.  MemberDao
@Mapper
@Repository
public interface MemberDao {

	public List<MemberDto> allMember();
}

 

 

9. MemberService
@Service
@Transactional
public class MemberService {
	
	@Autowired
	MemberDao dao;

	public List<MemberDto> allMember() {
		return dao.allMember();
	}
}

 

 

10. HelloController
@RestController  // @Controller + @ResponsBody -> Restful
public class HelloController {
	
	@Autowired
	MemberService service;
	
	// 1. 문자열받기 base 순수 return값
	@RequestMapping(value = "/base", method = RequestMethod.GET)
	public String base() {
		System.out.println("HelloController base()");
		return "base";
	}		
	
    // 2. 문자열 보내고 받기
	@RequestMapping(value = "/connParamGet")
	public String connParamGet(String title) {		// 함수명(매개변수)
		System.out.println("HelloController connParamGet()");
		System.out.println("title:" + title);
		
		return "통신성공";	
	}
	
    // 3. object를 보내고 받기(MemberDto가 Object)
	// 매개변수 없이 dto통해 객체 전달
	// getMember를 통해 객체를 던져줄 수 있음 > Json으로 전달
	@RequestMapping(value = "/getMember", method = RequestMethod.POST)
	public MemberDto getMember(@RequestBody MemberDto mem) {			//Retrofit 객체를 주고받을시 @RequestBody 추가
		System.out.println("HelloController getMember()");
		System.out.println(mem.toString());
		
		MemberDto dto = new MemberDto("abc", "123", "AAA", "aa@naver.com", 1);		
		return dto;
	}
	
	@RequestMapping(value = "/getMemberList")
	public List<MemberDto> getMemberList(){
		System.out.println("HelloController getMemberList()");
		
		List<MemberDto> list = new ArrayList<MemberDto>();
		list.add(new MemberDto("abc", "123", "AAA", "aa@naver.com", 1));
		list.add(new MemberDto("bcd", "234", "BBB", "bb@naver.com", 3));
		list.add(new MemberDto("cde", "345", "CCC", "cc@naver.com", 1));
		
		return list;		
	}	
	
    // 4. DB
	@RequestMapping(value = "/dbTest")
	public List<MemberDto> dbTest(){
		System.out.println("HelloController dbTest()");
		
		List<MemberDto> list = service.allMember();
		
		return list;		
	}
		
}

'SpringBoot' 카테고리의 다른 글

ajax  (0) 2022.04.12
[SpringBoot] Android(Member)  (0) 2022.03.20
[SpringBoot] Android !Retrofit!  (0) 2022.03.20
[SpringBoot] 게시판  (0) 2022.02.28
[SpringBoot] Front  (0) 2022.02.23

댓글