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 |
댓글