Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] Spring에서 MySQL을 MyBatis로 연동하기 본문
예제 1: Maven 프로젝트 생성
mvn archetype:generate -DgroupId=com.example -DartifactId=mybatis-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
먼저 Maven을 사용하여 기본적인 프로젝트를 생성합니다. groupId와 artifactId는 프로젝트에 맞게 설정합니다.
예제 2: pom.xml 파일에 MyBatis 및 MySQL Connector 의존성 추가
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
pom.xml 파일에 MyBatis 및 MySQL Connector의 의존성을 추가합니다. 현재 최신 버전을 사용하고 있습니다.
예제 3: 데이터베이스 연결 정보 설정
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mydatabase" />
<property name="username" value="root" />
<property name="password" value="password" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml" />
</mappers>
</configuration>
MyBatis 설정 파일인 `mybatis-config.xml`에 데이터베이스 연결 정보를 설정합니다. 데이터베이스 드라이버 클래스, URL, 사용자 이름 및 암호를 지정합니다.
예제 4: Mapper 인터페이스 및 XML 파일 생성
package com.example.mapper;
import java.util.List;
import com.example.model.User;
public interface UserMapper {
List<User> getAllUsers();
}
<mapper namespace="com.example.mapper.UserMapper">
<select id="getAllUsers" resultType="com.example.model.User">
SELECT * FROM users
</select>
</mapper>
Mapper 인터페이스와 XML 파일을 생성하여 MyBatis에서 데이터베이스 쿼리를 관리합니다. 위의 코드는 모든 사용자 정보를 가져오는 쿼리를 정의합니다.
예제 5: 서비스 및 컨트롤러 생성
package com.example.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.mapper.UserMapper;
import com.example.model.User;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
}
package com.example.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.model.User;
import com.example.service.UserService;
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public List<User> getAllUsers() {
return userService.getAllUsers();
}
}
서비스 및 컨트롤러를 생성하여 MyBatis와 연동된 데이터베이스 정보를 사용하여 데이터를 가져옵니다. UserService는 UserMapper를 주입받아 데이터베이스 쿼리를 호출하고, UserController는 UserService를 주입받아 RESTful 엔드포인트를 노출합니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] LocalDate, LocalDateTime 시간 날짜 변경하기 (0) | 2024.03.08 |
---|---|
[Java/자바] 문자열에서 특수문자 제거, 숫자 제거, 숫자만 남기기 (0) | 2024.03.08 |
[Java/자바] 문자열에서 따옴표 제거하기 (0) | 2024.03.08 |
[Java/자바] 배열에서 중복 제거하기 (0) | 2024.03.08 |
[Java/자바] 문자열에서 Index로 문자 가져오기 (0) | 2024.03.08 |