MyBatis
- Java의 오픈 소스 ORM 프레임워크이다
MyBatis는 기존 JDBC 코드의 반복과 복잡성을 줄이고, 데이터베이스와 객체 간의 매핑을 보다 편리하게 처리할 수 있도록 도와줍니다.
즉 개발자는 복잡한 SQL 매핑과 성능 최적화를 자유롭게 제어할 수 있습니다.
예제 코드
같은 기능인데도 MyBatis가 간편한게 보인다
MyBatis
User Object 맵핑을 바로 해준다
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User getUserById(int id);
}
JDBC
- 커서 만들고, Close 하고 세팅 할 것이 많다.
public class UserDAO {
private final DataSource dataSource;
public UserDAO(DataSource dataSource) {
this.dataSource = dataSource;
}
// 사용자 ID에 해당하는 사용자 정보 가져오기
public User getUserById(int id) {
try (Connection connection = dataSource.getConnection();
PreparedStatement statement = connection.prepareStatement("SELECT * FROM users WHERE id = ?")) {
statement.setInt(1, id);
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setEmail(resultSet.getString("email"));
user.setPassword(resultSet.getString("password"));
user.setUsername(resultSet.getString("username"));
user.setRoles(resultSet.getString("roles"));
return user;
}
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
레퍼런스
- 🐥 카카오테크캠퍼스 - 2단계 3주차
- 🐥 카카오테크캠퍼스 - 2단계 3주차 강의
- R - 신입 백엔드 개발자 취업준비&후기 자소서, 포트폴리오, 면접 TIP
- 🌱 129 DBMS 접속
- 🌱 호남 사이버 보안 컨퍼런스
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
728x90
'DEV > Backend' 카테고리의 다른 글
왜 예외처리가 안되는거지 (0) | 2023.07.28 |
---|---|
Hibernate (0) | 2023.07.11 |
Restful API (2) | 2023.07.11 |
Mock API 작성하는 팁 (0) | 2023.07.10 |
TypeORM의 Entity 참조는 어떻게 일어나는가? (0) | 2023.06.27 |