MySQL 실행 및 중단

.
MySQL 접속 및 데이터베이스 생성
위치이동 : cd /usr/local/mysql/bin
MySQL 접속 : ./mysql -u root -p
비밀번호 입력
MySQL 접속 완료
데이터베이스 생성 : CREATE DATABASE '생성할 데이터베이스 이름';
데이터베이스 확인 : show databases;
데이터베이스 이동 (사용) : use '사용할 데이터베이스 이름';
.
Database 탭을 클릭하시고 + 버튼 클릭

Data Source > MySQL 를 클릭

User, Password, Database 정보를 추가한 후 Ok

MySQL Database에 연결이 완료

.
spring.datasource.url=jdbc:mysql://localhost:3306/memo
spring.datasource.username=root
spring.datasource.password={비밀번호}
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
// MySQL
implementation 'mysql:mysql-connector-java:8.0.28'
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
// 생성자의 파라미터를 통해 JdbcTemplate 객체가 자동으로 넘어와 jdbctemplate 변수에 저장된다.
ex)
private final JdbcTemplate jdbctemplate;
public MemoRepository(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
jdbcTemplate.update() 메서드는 INSERT, UPDATE, DELETE 와 같이 생성, 수정, 삭제에 사용될 수 있는데 첫 번째 파라미터로 SQL을 받고 그 이후에는 ?에 들어갈 값을 받는다.String sql = "INSERT INTO memo (username, contents) VALUES (?, ?)";
jdbcTemplate.update(sql, "Robbie", "오늘 하루도 화이팅!");update() 메서드 첫 번째 파라미터에 넣어준다.String sql = "UPDATE memo SET username = ? WHERE id = ?";
jdbcTemplate.update(sql, "Robbert", 1);update() 메서드 첫 번째 파라미터에 넣어준다.String sql = "DELETE FROM memo WHERE id = ?";
jdbcTemplate.update(sql, 1);query() 메서드 첫 번째 파라미터에 넣어준다. String sql = "SELECT * FROM memo";
return jdbcTemplate.query(sql, new RowMapper<MemoResponseDto>() {
@Override
public MemoResponseDto mapRow(ResultSet rs, int rowNum) throws SQLException {
// SQL 의 결과로 받아온 Memo 데이터들을 MemoResponseDto 타입으로 변환해줄 메서드
Long id = rs.getLong("id");
String username = rs.getString("username");
String contents = rs.getString("contents");
return new MemoResponseDto(id, username, contents);
}
});
.
AUTO_INCREMENT :
컬럼의 값이 중복되지 않게 1씩 자동으로 증가하게 해줘 고유번호를 생성해 준다.
CREATE TABLE 테이블이름
(
필드이름 필드타입 AUTO_INCREMENT,
// id bigint AUTO_INCREMENT,
...
);
NOT NULL :
해당 필드는 NULL 값을 저장할 수 없게 된다.
CREATE TABLE 테이블이름
(
필드이름 필드타입 NOT NULL,
...
);
UNIQUE :
해당 필드는 서로 다른 값을 가져야만 한다.
CREATE TABLE 테이블이름
(
필드이름 필드타입 UNIQUE,
...
);
PRIMARY KEY :
해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 된다.
CREATE TABLE 테이블이름
(
필드이름 필드타입 PRIMARY KEY,
...
);
FOREIGN KEY :
하나의 테이블을 다른 테이블에 의존하게 만들며 데이터의 무결성을 보장해 준다.
CREATE TABLE 테이블이름
(
필드이름 필드타입,
...
FOREIGN KEY(필드이름)
REFERENCES 테이블이름(필드이름)
);
CASCADE :
FOREIGN KEY 로 연관된 데이터를 삭제,변경할 수 있다.
CREATE TABLE 테이블이름
(
필드이름 필드타입,
...
FOREIGN KEY(필드이름)
REFERENCES 테이블이름(필드이름) ON DELETE CASCADE
//ON UPDATE CASCADE
);