JAVA DB연동

김성국·2023년 2월 17일
2

Jvav MongoDB 연결, 등록, 추가, 삭제 방법

1.Member객체 생성

@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Member {
	
	private String id = null; // 아이디
	private String password = null; // 암호
	private String name = null; // 이름
	private String phone = null; // 연락처 ex) 000-0000-0000
	private int age = 0; // 나이
	private String role = null; // 권한 이것은 권한 고객(c)또는 판매자(S)만 가능
	private Date regdate = null; // 등록일
}

2. Member를 MongoDB에 연결

Public class MemberDB{
	//변수는 모든 메소드에서 사용 가능하기 위해
	private MongoColletion<Document> collection = null;
    	// 생성자
	public MemberDB() {
		// 공통변수가 아니기 때문에 생성자 내부에서만 사용사능한 변수 생성

		// final을 붙이면 생성시 값으로 프로그램이 끝날때까지 유지됨.이유는 바꿀 수 없기때문
		// mongodb://아이디:암호@서버주소:포트번호/디비명
		final String url = "mongodb://id207:pw207@1.234.5.158:37017/db207"; // u

		// 클레스를 통해서 접속이 가능함.
		MongoClient client = MongoClients.create(url); 
		MongoDatabase db = client.getDatabase("db207"); 
		this.collection = db.getCollection("members");
	}

memberDB 생성자를 생성하고, 내 mongoDB주소를 url을 생성해서 넣은 후, MongoClient클레스에 있는 객체(client)에 넣은 후,db에있는 db207에 속해 있는 이름 members 데이터를 MongoCollection의 객체(collection)에넣는다.

2.Members에 DB등록하기

public int insertMember(Member member) {
		try {
			// 정상동작
			Document doc = new Document();
			doc.append("_id", member.getId());
			// 키가 반드시 _id 기본키로 봄.
			doc.append("password", member.getPassword());
			doc.append("name", member.getName());
			doc.append("phone", member.getPhone());
			doc.append("role", member.getRole());
			doc.append("age", member.getAge());
			doc.append("regdate", member.getRegdate());

			InsertOneResult result = this.collection.insertOne(doc);
			System.out.println(result.toString());
			return 1;
		} catch (Exception e) {
			// 정상동작둥에 오류가 발생시 이쪽으로 수행됨.
			// Exception클래스의 e변수에 오류의 정보(오류 메시지)가 전송되게 함.
			e.printStackTrace(); // 오류메시지를 전체적으로 출력해줌. 개발자를 위한 기능
			return -1;
		}
	}
---------------------------------------------------
2.회원가입하고 싶은 임시 데이터 (아이디, 암호, 이름, 연락처, 나이, 권한, 현재시간)
	MemberDB mDB = new MemberDB();
	Member member = new Member("aaa13","pw1","이름","010",12,"C",new Date());
		
		3. DB에 추가하는 메소드 수행
		int ret = mDB.insertMember(member);
		System.out.println(ret);
		

3. Members에 있는 DB전체 조회

public void printMember() {

		MongoCursor<Document> list = this.collection.find().cursor();
		// 1000 => 500개만 출력(x)
		// 반복자 => 처음부터 끝까지 전체다 반복할 거라고 가정
		// 몇개가 존재하는지 모름
		while (list.hasNext()) { // 그다음 가져올 데이터가 있습니까?
			// 그러면 1개 가져갈께요.
			Document doc = list.next();
			System.out.println("아이디 => " + doc.getString("_id"));
			System.out.println("암호 => " + doc.getString("password"));
			System.out.println("나이 => " + doc.getInteger("phone"));
			System.out.println("나이 => " + doc.getInteger("age"));
			System.out.println("나이 => " + doc.getString("name"));
			System.out.println("-----------------------------");
		}
	}
--------------------------------------------------------------------
MemberDB mDB = new MemberDB();
		mDB.printMember();

업로드중..

1개의 댓글

comment-user-thumbnail
2023년 2월 17일

와우 정말 멋있네요~!

답글 달기