일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- IntelliJ#인텔리제이#인텔리#단축키
- Spring#spring#스프링#스프링프레임워크#스프링자동주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- Java#컴파일러#자바컴파일러#
- 프로그래밍
- 국비지원#국비교육#국비지원자바#국비교육자바#css#HTML#JAVA
- 개발자도서#개발자책#도메인#DDD#도메인주도개발시작하기#개발스터디#
- 국비지원JAVA#국비교육JAVA#국비지원자바#국비교육자바#JSP#SERVLET#서블릿#
- 자바
- java
- Spring#spring#스프링#스프링프레임워크#스프링의존성주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- Java#java#자바#다오#디티오#브이오#dao#dto#vo
- 쿼리스트링#쿼리문자열#바인딩
- #
- Java#java#메모리영역#클래스로더#가비지컬렉터
- 국비지원#국비교육
- Java#JAVA#매개변수
- 항해99 #항해플러스 #주니어개발자 #주니어개발자역량강화 #주니어개발자멘토링 #개발자사이드프로젝트 #코딩부트캠프 #코딩부트캠프후기
- 개발자#it도서#도메인#DDD#ddd
- spring#Spring#RequestBody#ResponseBody
- 항해플러스#항해#항해플러스3기#회고
- Java#정처기#비트연산자#정보처리기사
- db#데이터베이스#오라클#sql
- html#HTML#프론트엔드#개발자#코딩#국비지원#국비교육#국비지원프론트엔드#국비지원HTML#국비지원html#국비프론트엔드
- tibero#티베로#이중화#failvover
- Resource #
- 국비지원JAVA
- 자바#Java#배열예시#연습#기초다지기
- 국비지원자바#국비교육자바#국비지원java#국비교육java#자바스크립트#프론트엔드
- #java#JAVA#프로그래밍#웹개발자
- 국비지원JAVA#국비지원자바#프로그랭#JSP#국비지원JSP#국비교육JSP#웹개발자#코딩
Archives
- Today
- Total
개린이 개발노트
국비지원 JAVA(자바) 프로그래밍(자바, MariaDB, 마리아디비 ) 본문
728x90
MariaDB에 미리 데이터를 만들어놓는다.
일단 확인만 할겸 이렇게 코드를 만듦.
밑의 자바 코드를 통해서
package DB2;
public class MemberVO {
private int memberno;
private String id;
private String name;
public int getMemberno() {
return memberno;
}
public void setMemberno(int memberno) {
this.memberno = memberno;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package DB2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class MemberDAO {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
public MemberDAO() {
try {
Class.forName("org.mariadb.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/javadb", "root", "java1234");
} catch (Exception e) {
e.printStackTrace();
}
}
// 전체 레코드를 조회하는 메서드
public List<MemberVO> list() {
List<MemberVO> list = new ArrayList<>();
try {
String sql = "select * from member";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
MemberVO vo = new MemberVO();
vo.setMemberno(rs.getInt("memberno"));
vo.setId(rs.getString("id"));
vo.setName(rs.getString("name"));
list.add(vo);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public void insert(MemberVO vo) {
try {
String sql = "insert into member values(?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, vo.getMemberno()); // vo에 getMemberno를 받아와서 설정해라.
pstmt.setString(2, vo.getId()); // 데이터문에 바로 연동
pstmt.setString(3, vo.getName());
rs = pstmt.executeQuery();
System.out.println("회원 등록 성공!");
} catch (Exception e) {
System.out.println("회원 등록 실패! ");
e.printStackTrace();
}
}
}
package DB2;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
MemberDAO dao = new MemberDAO();
int menu; //메뉴선택한 번호 저장 변수
System.out.println("=====회원관리 프로그램=====");
while(true) {
System.out.print("메뉴선택 [1.회원목록 2.회원등록]");
menu = sc.nextInt();
switch(menu) {
case 1:
List<MemberVO> list = new ArrayList<>(); //리턴된 컬렉션을 저장하는 공간
list = dao.list(); //메서드 호출 결과를 list에 저장
for(int i =0 ; i<list.size();i++) {
System.out.print("번호 : "+list.get(i).getMemberno()+"\t");
System.out.print("아이디 : "+list.get(i).getId()+"\t");
System.out.println("이름 : "+list.get(i).getName()+"\t");
}
case 2:
MemberVO vo= new MemberVO();
System.out.println("회원등록을 시작합니다.");
System.out.println("회원 번호:");
vo.setMemberno(sc.nextInt());
System.out.println("아이디: ");
vo.setId(sc.next());
System.out.println("이름: ");
vo.setName(sc.next());
dao.insert(vo); // insert메서드
break;
}
}
}
}
결과값.
=====회원관리 프로그램=====
메뉴선택 [1.회원목록 2.회원등록]2
회원등록을 시작합니다.
회원 번호:
12
아이디:
asd
이름:
asdasdas
회원 등록 성공!
메뉴선택 [1.회원목록 2.회원등록]1
번호 : 1 아이디 : 홍길동 이름 : 홍길
번호 : 2 아이디 : 홍길동 이름 : 홍길
번호 : 3 아이디 : 홍길동 이름 : 홍길
번호 : 4 아이디 : 홍길동 이름 : 홍길
번호 : 5 아이디 : 홍길동 이름 : 홍길
번호 : 6 아이디 : 홍길동 이름 : 홍길
번호 : 12 아이디 : asd 이름 : asdasdas
회원등록을 시작합니다.
회원 번호:
자바를 통해서 마리아디비에 새로운 데이터를 추가했다.
이번엔 자바를 통해서 마리에 디비에 있는 데이터를 수정하기
member넘버를 입력받고 그 입력받은 값의 id와 name 수정하기!
package DB2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class MemberDAO {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
public MemberDAO() {
try {
Class.forName("org.mariadb.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/javadb", "root", "java1234");
} catch (Exception e) {
e.printStackTrace();
}
}
// 전체 레코드를 조회하는 메서드
public List<MemberVO> list() {
List<MemberVO> list = new ArrayList<>();
try {
String sql = "select * from member";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
MemberVO vo = new MemberVO();
vo.setMemberno(rs.getInt("memberno"));
vo.setId(rs.getString("id"));
vo.setName(rs.getString("name"));
list.add(vo);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public void insert(MemberVO vo) {
try {
String sql = "insert into member values(?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, vo.getMemberno()); // vo에 getMemberno를 받아와서 설정해라.
pstmt.setString(2, vo.getId()); // 데이터문에 바로 연동
pstmt.setString(3, vo.getName());
rs = pstmt.executeQuery();
System.out.println("회원 등록 성공!");
} catch (Exception e) {
System.out.println("회원 등록 실패! ");
e.printStackTrace();
}
}
public void update (MemberVO vo) {
try {
String sql = "update member set id=?,name=? where memberno=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, vo.getId());
pstmt.setString(2, vo.getName());
pstmt.setInt(3, vo.getMemberno()); // vo에 getMemberno를 받아와서 설정해라.
rs = pstmt.executeQuery();
System.out.println("회원 정보 수정 성공!");
} catch (Exception e) {
System.out.println("회원 정보 수정 실패! ");
e.printStackTrace();
}
}
}
package DB2;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
MemberDAO dao = new MemberDAO();
int menu; //메뉴선택한 번호 저장 변수
System.out.println("=====회원관리 프로그램=====");
while(true) {
System.out.print("메뉴선택 [1.회원목록 2.회원등록 3.회원수정]");
menu = sc.nextInt();
switch(menu) {
case 1:
List<MemberVO> list = new ArrayList<>(); //리턴된 컬렉션을 저장하는 공간
list = dao.list(); //메서드 호출 결과를 list에 저장
for(int i =0 ; i<list.size();i++) {
System.out.print("번호 : "+list.get(i).getMemberno()+"\t");
System.out.print("아이디 : "+list.get(i).getId()+"\t");
System.out.println("이름 : "+list.get(i).getName()+"\t");
}
case 2:
MemberVO vo= new MemberVO();
System.out.println("회원등록을 시작합니다.");
System.out.println("회원 번호:");
vo.setMemberno(sc.nextInt());
System.out.println("아이디: ");
vo.setId(sc.next());
System.out.println("이름: ");
vo.setName(sc.next());
dao.insert(vo); // insert메서드
case 3: vo= new MemberVO();
System.out.println("회원수정을 시작합니다.");
System.out.println("수정할 번호 입력:");
vo.setMemberno(sc.nextInt());
System.out.println("아이디 변경: ");
vo.setId(sc.next());
System.out.println("이름 변경: ");
vo.setName(sc.next());
dao.update(vo);
break;
}
}
}
}
memberno 2번에 있는 id 와 name 이 모두 asd asd로 바뀐것을 확인할 수있다!
메뉴선택[1.회원목록 2.회원등록 3.회원정보수정 4.회원정보삭제 5.회원정보조회 6.프로그램종료] 까지 만들기
package DB2;
public class MemberVO {
private int memberno;
private String id;
private String name;
public int getMemberno() {
return memberno;
}
public void setMemberno(int memberno) {
this.memberno = memberno;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package DB2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class MemberDAO {
//PreparedStatement 기능확장 (재사용면에서 매우 편리함) / 단점으로는 코드가 길어짐
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
//생성자
public MemberDAO() {
try { //마리아db 데이터베이스에 연결
Class.forName("org.mariadb.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/javadb", "root", "java1234");
} catch (Exception e) {
e.printStackTrace(); // Driver를 못 찾았을때 예외처리
}
}
/**메서드 생성*/
//전체 레코드를 조회하는 메서드
public List<MemberVO> list() { //객체들을 보관하기 위한 List 컬렉션 생성 (추가, 삭제 등으로 위한 컬레션을 사용하는게 좋음)
List<MemberVO> list = new ArrayList<>(); //list에 담겨 있는 VO객체를 Main으로 보내 최종 작업
try {
String sql = "select * from member";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); //
while(rs.next()) {
MemberVO vo = new MemberVO(); //빈 객체를 위에 list에 넣어줄 려고
//set으로 호출 -> get으로 값을 MemberVO 클래스에 값을 보내 보관
//VO 객체에 멤버변수가 저장
vo.setMemberno(rs.getInt("memberno"));
vo.setId(rs.getString("id"));
vo.setName(rs.getString("name"));
list.add(vo); //list에 다음값이 있을때 까지 반복해서 객체를 넣는다.
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
//insert 삽입 메서드
public void insert(MemberVO vo) {
try {
//PreparedStatement를 이용하면 기존에 난잡한 수식이 아닌 ? <--로 표기 가능
//괄호안에 ? 개수는 필드개수와 동일
String sql = "insert into member values(?, ?, ?)";
pstmt = conn.prepareStatement(sql);
//vlaues(?, ?, ?) <-- 이 안에 어떤 값을 넣을지 설정
pstmt.setInt(1, vo.getMemberno());
pstmt.setString(2, vo.getId());
pstmt.setString(3, vo.getName());
rs = pstmt.executeQuery(); //위에서 실행된 결과를 rs에 저장
System.out.println("회원 등록 성공!");
} catch (Exception e) {
System.out.println("회원 등록 실패");
e.printStackTrace();
}
}
//update 수정 메서드
public void update(MemberVO vo) {
try { //UPDATE member SET id='qwer' WHERE memberno=1
String sql = "update member set id=?, name=? where memberno=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, vo.getId());
pstmt.setString(2, vo.getName());
pstmt.setInt(3, vo.getMemberno());
rs = pstmt.executeQuery(); //위에서 실행된 결과를 rs에 저장
System.out.println("회원 정보 수정 완료!");
} catch (Exception e) {
System.out.println("회원 정보 수정 오류");
e.printStackTrace();
}
}
//delete 삭제 메서드
public void delete(int vod) {
try { //DELETE FROM member WHERE memberno=2
String sql = "delete from member where memberno=?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, vod);
rs = pstmt.executeQuery(); //위에서 실행된 결과를 rs에 저장
System.out.println("회원 정보 삭제 완료!");
} catch (Exception e) {
System.out.println("회원 정보 삭제 오류");
e.printStackTrace();
}
}
//select 조회 메서드
//pstmt = conn.prepareStatement(spl); //데이터 베이스로 spl를 보냄 spl은 위에 입력된 코드
public List<MemberVO> select(int no) {
List<MemberVO> list = new ArrayList<>(); //select 저장용 컬레션
try { //select 필드명, 필드명, from 테이블명
String sql = "select * from member where memberno=?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, no);
rs = pstmt.executeQuery(); //위에서 실행된 결과를 rs에 저장
while(rs.next()) {
MemberVO vo = new MemberVO();
vo.setMemberno(rs.getInt("memberno"));
vo.setId(rs.getString("id"));
vo.setId(rs.getString("name"));
list.add(vo);
}
System.out.println("회원 정보 조회 완료!");
} catch (Exception e) {
System.out.println("회원 정보 조회 오류");
e.printStackTrace();
}
return list;
}
}
package DB2;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //입력문
MemberDAO dao = new MemberDAO(); //DAO메서드를 가져다 쓰기 위해 객체 생성
int menu; //입력한 메뉴 번호 저장 변수
System.out.println("===회원관리 프로그램===");
while(true) {
System.out.print("메뉴선택[1.회원목록 2.회원등록 3.회원정보수정 4.회원정보삭제 5.회원정보조회 6.프로그램종료]");
menu = sc.nextInt();
if(menu == 6) {
System.out.println("프로그램을 종료 합니다.");
break;
}
switch(menu) {
case 1: //조회
List<MemberVO> list = new ArrayList<>(); // return된 컬렉션을 저장하는 공간
list = dao.list(); // 메서드 호출 결과를 list에 저장
//위 컬렉션을 이렇게 한번에 코드입력도 가능List<MemberVO> list = dao.list();
for(int i = 0; i < list.size(); i++) {
System.out.print("번호 : " + list.get(i).getMemberno() + "\t");
System.out.print("아이디 : " + list.get(i).getId() + "\t");
System.out.println("이름 : " + list.get(i).getName());
}
break;
case 2 : //추가
MemberVO vo = new MemberVO(); //객체 생성
System.out.println("회원 등록을 시작합니다.");
System.out.println("회원 번호 : ");
vo.setMemberno(sc.nextInt());
System.out.println("회원 아이디 : ");
vo.setId(sc.next());
System.out.println("회원 이름 : ");
vo.setName(sc.next());
dao.insert(vo);
break;
case 3 : //수정
vo = new MemberVO();
System.out.println("회원 정보를 수정합니다.");
System.out.println("회원 번호 수정 : ");
vo.setMemberno(sc.nextInt());
System.out.println("회원 아이디 수정 : ");
vo.setId(sc.next());
System.out.println("회원 이름 수정 : ");
vo.setName(sc.next());
dao.update(vo);
break;
case 4 : //삭제
System.out.println("회원 정보를 삭제합니다.");
System.out.println("삭제할 회원 번호 : ");
dao.delete(sc.nextInt());
break;
case 5 : //조회
System.out.println("회원 정보를 조회합니다.");
System.out.println("조회할 회원 번호 : ");
List<MemberVO> sList = dao.select(sc.nextInt());
if(sList.isEmpty()) {//빈 컬렉션인지 물어보는 메서드
System.out.println("해당 회원이 없음");
} else {
}
for(int i = 0; i < sList.size(); i++) {
System.out.print("번호 : " + sList.get(i).getMemberno() + "\t");
System.out.print("아이디 : " + sList.get(i).getId() + "\t");
System.out.println("이름 : " + sList.get(i).getName());
}
break;
default :
System.out.println("잘못 입력하셨습니다.");
}
}
}
}
728x90
'국비지원(국비교육) 웹 개발자 과정' 카테고리의 다른 글
국비지원 JAVA(자바) 프로그래밍(CSS) (0) | 2022.12.15 |
---|---|
국비지원 JAVA(자바) 프로그래밍( Visaul Studio Code( VS CODE) 비쥬일 스튜디오, (0) | 2022.12.14 |
국비지원 JAVA(자바) 프로그래밍(네트워크,OSI7계층,클라이언트,서버 동작과정, ) (0) | 2022.12.12 |
국비지원 JAVA(자바) 프로그래밍 (메서드호출,오버라이딩,상속, 트라이캐치,집합,Thread,스트림) (0) | 2022.12.09 |
국비지원 JAVA(자바) 프로그래밍 자바 연습문제 모음 주사위, 별찍기) (0) | 2022.12.08 |