프로젝트 JS 참고용

CHOISUJIN·2023년 3월 23일
0
post-thumbnail
post-custom-banner
  • 엔터누르면 input.value 입력
 입력 : <input type="text" size="50" id="chattingInput" 
			onkeyup="inputEnter()" autofocus />
        
function inputEnter(){
    if(window.event.key == "Enter"){
        readValue();
    }
  • 정규표현식
  1. 정규표현식 객체 생성 방법

    1) const regExp = new RegExp("정규표현식");
    2) const regExp = /정규표현식/;
    -> 양쪽 '/' 기호 정규 표현식 리터럴 표기법

  1. 문자열 패턴 확인 메서드(함수)
    1) regExp.test(문자열)
    -> 문자열에 정규표현식과 일치하는 패턴이 있을 경우 true, 없으면 false

    2) regExp.exec(문자열)
    -> 문자열에 정규표현식과 일치하는 패턴이 있을 경우
    처음 매칭되는 문자열을 반환, 없으면 null 반환

  const regEx1 = new RegExp("script");
  // "script"와 일치하는 문자열이 있는지 검사하는 정규식 객체

  const regEx2 = /java/;
  // "java"와 일치하는 문자열이 있는지 검사하는 정규식 객체

  const str1 = "저희는 지금 javascript를 공부하고 있습니다.";

  // 확인하기
  regEx1.test(str1);
  regEx1.exec(str1);

🌟 헷갈리는 DAO ...

조회(select) : rs(ResultSet) + executeQuery() -> 조회 결과 while문 또는 if문으로 조회 결과 얻기
placeholder : pstmt 사용 pstmt에 먼저 sql 넣어서 보내주고
DML(inset,update,delete) : result로 executeUpdate()로 성공 실패 여부 얻기

  1. 모두 조회 selectAll

stmt = conn.createStatement();
rs = stmt.executeQuery(sql); // 조회

-> 한명 조회는 if(rs.next())

	public List<Member> selectAll(Connection conn) throws Exception{
		
		//결과 저장용 변수 선언
		List<Member> memberList = new ArrayList<>();
		
		try {
			// SQL 얻어오기
			String sql = prop.getProperty("selectAll");
			
			// Statement 객체 생성
			stmt = conn.createStatement();
			
			// SQL(SELECT) 수행 후 결과(Result Set) 반환받기
			rs = stmt.executeQuery(sql);
			
			// 반복문을 이용해서 조회 결과의 각 행에 접근
			while(rs.next()) {
				//컬럼 값을 얻어와 Member 객체 저장 후 List에 추가
				
				String memberId = rs.getString("MEMBER_ID");
				String memberName = rs.getString("MEMBER_NM");
				String memberGender = rs.getString("MEMBER_GENDER");
				
				memberList.add(new Member(memberId, memberName, memberGender));
			}
			
		}finally {
			close(rs);
			close(stmt);
		}
		
		return memberList;
	}
  1. 정보 삽입,수정,삭제 (insert, update)
    result = 성공 : 1 / 실패 : 0

pstmt = conn.prepareStatement(sql);
result = pstmt.executeUpdate();

	public int updateMember(Connection conn, Member member) throws Exception{
		
		//결과 저장용 변수 생성
		int result = 0;
		
		try {
			//SQL 얻어오기
			String sql = prop.getProperty("updateMember");
			
			//PreparedfStatement 객체 생성
			pstmt = conn.prepareStatement(sql);
			
			// ? 알맞은 값 대입
			pstmt.setString(1, member.getMemberName());
			pstmt.setString(2, member.getMemberGender());
			pstmt.setInt(3, member.getMemberNo());
			
			// SQL 수행 후 결과 반환 받기
			result = pstmt.executeUpdate();
			
		}finally {
			close(pstmt);
			
		}
		return result;
	}
  1. 조회 + placeholder
    pstmt = conn.prepareStatement(sql);
    rs = pstmt.executeQuery();
public List<Comment> selectCommentList(Connection conn, int boardNo) throws Exception{
		
			List<Comment> commentList = new ArrayList<>();
		
			try {
				
				String sql = prop.getProperty("selectCommentList");
				
				pstmt = conn.prepareStatement(sql);
				pstmt.setInt(1, boardNo);
				
				rs = pstmt.executeQuery(); // select 수행
				
				while(rs.next()) { // 조회 결과 1행 밖에 없음
					Comment comment = new Comment();
					
					comment.setCommentNo(rs.getInt("COMMENT_NO"));
					comment.setCommentContent(rs.getString("COMMENT_CONTENT"));
					comment.setMemberNo(rs.getInt("MEMBER_NO"));
					comment.setMemberName(rs.getString("MEMBER_NM"));
					comment.setCommentCreateDate(rs.getString("CREATE_DT"));
					comment.setBoardNo(boardNo);
					
					commentList.add(comment);
				}
				
			} finally {
				close(rs);
				close(pstmt);
			}
			
			return commentList;
		}
profile
매일매일 머리 터지는 중 ᕙ(•̀‸•́‶)ᕗ
post-custom-banner

0개의 댓글