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();
와우 정말 멋있네요~!