//////
Search

알고리즘(별찍기), Java DB 연동 by 조문주

태그
2022/10/17 12:24
사람
최종 편집 일시
2022/10/17 12:44

1. 알고리즘

1. 별찍기

* ** *** ****

1) println

코드
별찍기 가장 쉬운 방법이다.

2) 이중 for문

코드
이중 for문으로 별을 찍고 메소드로 분리한 후 몇층까지 별을 찍을지 매개변수를 받는다.

3) #찍기, @찍기..

코드
어떤 letter를 출력할지 생성자를 통해 초기화 할수 있게한다.
Constructor 오버로딩 - 빈 Constructor를 만들어 주는 이유는 파라메터가 있는 Constructor를 만들었을 때와 기본값일 때를 모두 사용 하기 위해.

2. 피라미드 찍기

* * * * * * * * * * * * * * *
설계
출력
i
공백
별개수
*
0
3
1
* *
1
2
2
* * *
2
1
3
* * * *
3
0
4
코드
* *** ***** *******
코드

3. 마름모 찍기

* *** ***** *** *
코드

2. java와 DB연동하기

1. gradle 빌드

Gradle빌드로 프로젝트를 생성한다.

2. mysql dependency 추가

build.gradl의 dependencies에 mysql dependency를 추가해줘야 한다.
위 링크에 들어가 최신 버젼을 클릭한 후 Gradle카테고리에 있는 텍스트를 복사한다.
public class Pyramid { public void printStar(int n) { for (int i = 0; i < n; i++) { for (int j = 1; j < n-i; j++) { System.out.printf(" "); } for (int k = 0; k < i+1; k++) { System.out.printf("* "); } System.out.println(); } } public static void main(String[] args) { Pyramid pyramid = new Pyramid(); pyramid.printStar(5); } } /* * * * * * * * * * * * * * * * */
Java
복사
그 후 다시 build.gradl파일에 들어가 dependencies에 복사했던 텍스트를 붙여넣기한다.

3. mysql table 생성

mysql workbench에서 다음과 같이 table을 생성한다.

4. add()메소드(insert)

코드
add()메소드: DB에 INSERT INTO를 한다.
prepareStatement에 sql Query문을 작성하고 setString에 값을 넣어준다.
주의! 절대 깃허브에 host,user,password를 직접 입력하지 말 것! 꼭 Edit Configurations을 이용해야 한다. 그대로 올리면 해킹 당할 수 있다.

5. Edit Configurations 설정

Environment Variable 을 로컬에서 jvm으로 전달하는 방법이다.
Edit - Configurations로 간다.
빨간 동그라미 클릭
DB_HOST, DB_PASSWORD, DB_USER를 추가한다.
DB_HOST = jdbc:mysql://aws퍼블릭 IPv4 DNS주소:3306/DB 스키마이름
DB_PASSWORD = mysql실행 할 때 설정했던 password를 입력한다.
DB_USER = root

6. status

코드
몇개의 raw가 들어갔는지 출력해준다.

7. SystemEnv 클래스 생성

코드
DB_USER, DB_HOST, DB_PASSWORD 등의 정보가 잘 넘어왔는지 확인하는 클래스 이다.

8. User 클래스 생성

User.java
User의 정보를 외부에서 입력받기 위해 User클래스를 선언했다.

9. get()메소드(select)

UserDao2
UserDao2클래스에 SELECT FROM문을 출력하는 get()메소드를 만들었다.

3. 인스턴스 docker mysql 연결

인스턴스 생성
Docker 설치
Mysql