버퍼로 쿼리문을 날리기 위함

 

 

1. xml로 데이터베이스연결

2.yml로 데이터베이스연결

3.자바파일로 데이터베이스 연결

3개다 가능하다

 

pom.xml 에 추가하는 방식

 

 

자바에서 dataSource 객체 -> 데이터 풀링 기법

 

 

https://khj93.tistory.com/entry/MyBatis-MyBatis%EB%9E%80-%EA%B0%9C%EB%85%90-%EB%B0%8F-%ED%95%B5%EC%8B%AC-%EC%A0%95%EB%A6%AC

 

[MyBatis] MyBatis란? 개념 및 데이터구조

MyBatis란? 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크로서 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 S

khj93.tistory.com

 

 

미리 프로젝트 생성시 적용해도 된다

 

 

starter 는 스프링부트라고 생각하면 된다

 

 

다른 것들과 다르게 버전을 넣어야 한다

 

 

사용하는 이유

퍼시스턴스 (자바 오브젝트로 매핑)

Select 해서 받아오는 데이터를 rs를 자바오브젝트로 쉽게 변환

 

 

 

 

문서 확인

https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/

 

mybatis-spring-boot-autoconfigure – Introduction

Introduction What is MyBatis-Spring-Boot-Starter? The MyBatis-Spring-Boot-Starter help you build quickly MyBatis applications on top of the Spring Boot. By using this module you will achieve: Build standalone applications Reduce the boilerplate to almost z

mybatis.org

 

 

 autowired를 사용하지않고 매개변수에 넣으면

스프링부트가 자동으로 해당 객체를 찾아서 띄운다 (없으면 오류)

 

 

https://github.com/codingspecialist/Springboot-MyBatis-Blog-V3/tree/master/src/main/java/com/cos/blog/config

 

codingspecialist/Springboot-MyBatis-Blog-V3

Contribute to codingspecialist/Springboot-MyBatis-Blog-V3 development by creating an account on GitHub.

github.com

 

 

 

 

Member 객체로 자동으로 담아주는 역할

 

 

인터페이스로 만들기

 

 

 

 

datasource가 동시접속시 순차적 처리를 한다

메모리에 띄울때 @Bean이라는 어노테이션이 있으면 리턴값을 IOC로 등록해준다 
(스프링 컨텍스트에 싱글톤 패턴으로 담아간다)

 

*.xml 이라고 쓴 이유는 여러테이블(객체)가 있을 수 있기 때문

 

 

 

 

 

https://github.com/codingspecialist/Springboot-MyBatis-Blog-V3

 

codingspecialist/Springboot-MyBatis-Blog-V3

Contribute to codingspecialist/Springboot-MyBatis-Blog-V3 development by creating an account on GitHub.

github.com

 

 

create user 'spring'@'%' identified by 'bitc5600';
GRANT ALL PRIVILEGES ON *.* TO 'spring'@'%';
create database spring;
use spring;
CREATE TABLE user(
	id int auto_increment primary key,
    username varchar(100) unique not null,
    password varchar(100) not null,
    email varchar(100),
    profile varchar(200),
    createDate timestamp
) engine=InnoDB default charset=utf8;
CREATE TABLE post(
	id int auto_increment primary key,
    title varchar(100) not null,
    content longtext,
    userId int,
    createDate timestamp,
    foreign key (userId) references user (id) on delete set null
) engine=InnoDB default charset=utf8;
CREATE TABLE comment(
	id int auto_increment primary key,
    userId int,
    postId int,
    content varchar(300) not null,
    createDate timestamp,
    foreign key (userId) references user (id) on delete set null,
    foreign key (postId) references post (id) on delete cascade
) engine=InnoDB default charset=utf8;

 

 

설정을 자바파일로 만들어져야한다 
스프링부트에서는 yml에서 설정해놓으면 자동적으로 자바코드로 변환된다

 

                         <-object                  <-rs

Controller - reopsitory - SQLSession                   - DataSource - DB(MySQL)
                                SQLSessionFactory가 SQLSession을 만든다
                                DataSource+매퍼파일등록(repository라는 클래스와 연결되어 있음)

SQLSession은 CRUD 함수를 가지고 있다

SQLSession은 데이터베이스에 연결 할 수 있는 유일한 객체

 

 

 

 

CREATE TABLE member(
	id int auto_increment primary key,
    username varchar(100) not null,
    phone longtext
) engine=InnoDB default charset=utf8;

 

 

 

 

 

 

----

 

 

 

 

 

 

 

+ Recent posts