오봉이와 함께하는 개발 블로그
Spring - IntelliJ MyBatis 연동 본문
728x90
스프링에서 데이터베이스 연동 : MyBatis 사용해서 DB 연동
mac OS BigSur
IntelliJ Ultimate
openjdk 11
아래의 링크에서 만든 프로젝트 사용 중
https://5bong2-develop.tistory.com/153
MyBatis (마이바티스)
- ORM(Object Relational Mapping : 객체 관계 매핑) 프레임워크
- 자바에서 JDBC를 이용할 경우 Java 언어와 SQL언어가 한 파일에 존재해서 재사용성이 좋지 않음
- MyBatis는 JDBC의 이런 단점을 개선하여 SQL 명령어를 별도의 XML 파일에 분리하여 SQL 명령어와 자바 객체를 매핑해주는 기능을 제공
- SQL 명령어를 재사용
- MyBatis 특징
- SQL 명령어를 자바 코드에서 분리하여 별도의 XML 파일에서 관리
- XML을 매퍼(Mapper)로 부름
IntelliJ Mybatis, JDBC 연결
- pom.xml 의존성 설정
- 데이터베이스
- Spring JDBC 의존성 : spring-jdbc
- Connection Pool 의존성 : commons-dbcp
- MySQL 의존성 : mysql-connector-java
- MyBatis
- mabatis
- mybatis-spring
pom.xml
<!-- pom.xml -->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.19.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
</dependencies>
- cmd + ; -> Libraries에서 + 클릭 후 Java -> jdbc커넥터.jar 파일 찾아서 등록 -> Artifacts에서 모두 더블클릭해서 등록
- 프로퍼티 파일 작성 (DB 연결 정보)
- src/main/resources 폴더에 database 폴더 생성
- jdbc.properties 파일 생성
- driverClassName, url, username, password 등록
jdbc.properties
// jdbc.properties
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://ip주소(local에서 사용할 경우 localhost):포트번호/스키마 이름?serverTimezone=UTC
jdbc.username=아이디
jdbc.password=패스워드
root-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:property-placeholder location="classpath:database/jdbc.properties" />
<context:component-scan base-package="com.spring_mvc.mybatis" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:com/spring_mvc/mybatis/**/*.xml" />
</bean>
</beans>
servlet-context.xml
- 내용 추가
<context:component-scan base-package="com.spring_mvc.mybatis" />
728x90
'BE > Spring' 카테고리의 다른 글
Spring - 간단한 예제 (0) | 2022.01.11 |
---|---|
Spring - IntelliJ MySQL&MyBatis 연동 오류 해결 (0) | 2022.01.10 |
IntelliJ에서 SpringMVC 프로젝트 생성 (0) | 2022.01.07 |
Spring - Controller와 요청 처리 (0) | 2022.01.07 |
Spring - 모델 패턴 (0) | 2022.01.06 |
Comments