MemberDaoImpl/MemberDao

서울IT코드정리 /kyChoi·2021년 10월 24일
0

JSP 정리❤

목록 보기
6/22
package kr.co.seoulit.member.dao;

import java.util.List;
import kr.co.seoulit.common.dao.DataAccessException;
import kr.co.seoulit.member.to.MemberBean;

public interface MemberDAO {
	public List<MemberBean> selectMemberList() throws DataAccessException ;
	public MemberBean selectMember(String id) throws DataAccessException ;
	public void insertMember(MemberBean member) throws DataAccessException ;
}
package kr.co.seoulit.member.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import javax.sql.DataSource;

import kr.co.seoulit.common.dao.DataAccessException;
import kr.co.seoulit.common.sl.ServiceLocator;
import kr.co.seoulit.member.to.MemberBean;

public class MemberDAOImpl implements MemberDAO{
	private static MemberDAOImpl instance;
	private MemberDAOImpl(){}
	public static MemberDAO getInstance(){
		if(instance==null) instance=new MemberDAOImpl();
		return instance;
	}

	public List<MemberBean> selectMemberList(){
		// TODO Auto-generated method stub
		List<MemberBean> v=new ArrayList<MemberBean>();
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet rs=null;
		try {
			StringBuffer query = new StringBuffer();
			query.append("select * from member");

			DataSource dataSource=ServiceLocator.getInstance().getDataSource("jdbc/myoracle");
			con = dataSource.getConnection();
			pstmt = con.prepareStatement(query.toString());
			
			rs = pstmt.executeQuery();
			while(rs.next()){
				MemberBean member=new MemberBean();
				member.setId(rs.getString("id"));
				member.setPw(rs.getString("pw"));
				member.setAddr(rs.getString("addr"));
				member.setTel(rs.getString("tel"));
				v.add(member);
			}
			return v;
		} catch(Exception sqle) {
			throw new DataAccessException(sqle.getMessage());			
		} finally {
			try{
				if(rs!=null){rs.close(); rs=null; }
				if(pstmt!=null){pstmt.close(); pstmt=null; }
				if(con!=null){con.close(); con=null; }
			}catch(Exception e){}		
		}
	}
	@Override
	public void insertMember(MemberBean member) throws DataAccessException {
		// TODO Auto-generated method stub
		
		Connection con = null;
		PreparedStatement pstmt = null;
		
		try {
			StringBuffer query = new StringBuffer();
			query.append("insert into member values(?,?,?,?)");

			DataSource dataSource=ServiceLocator.getInstance().getDataSource("jdbc/myoracle");
			con = dataSource.getConnection();
			pstmt = con.prepareStatement(query.toString());
			pstmt.setString(1,member.getId());
			pstmt.setString(2,member.getPw());
			pstmt.setString(3,member.getAddr());
			pstmt.setString(4,member.getTel());
			pstmt.executeUpdate();

		} catch(Exception sqle) {
			throw new DataAccessException(sqle.getMessage());			
		} finally {
			try{
				if(pstmt!=null){pstmt.close(); pstmt=null; }
				if(con!=null){con.close(); con=null; }
			}catch(Exception e){}		
		}		
	}
	@Override
	public MemberBean selectMember(String id) throws DataAccessException {
		// TODO Auto-generated method stub
		
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet rs=null;
		try {
			StringBuffer query = new StringBuffer();
			query.append("select * from member where id=?");

			DataSource dataSource=ServiceLocator.getInstance().getDataSource("jdbc/myoracle");
			con = dataSource.getConnection();
			pstmt = con.prepareStatement(query.toString());
			pstmt.setString(1,id);
			rs = pstmt.executeQuery();
			MemberBean member=null;
			while(rs.next()){
				member=new MemberBean();
				member.setId(rs.getString("id"));
				member.setPw(rs.getString("pw"));
				member.setAddr(rs.getString("addr"));
				member.setTel(rs.getString("tel"));
			}
			return member;
		} catch(Exception sqle) {
			throw new DataAccessException(sqle.getMessage());			
		} finally {
			try{
				if(rs!=null){rs.close(); rs=null; }
				if(pstmt!=null){pstmt.close(); pstmt=null; }
				if(con!=null){con.close(); con=null; }
			}catch(Exception e){}		
		}
	}
}

회원 리스트를 출력하려면 어떻게 해야 할까~?

List<MemberBean> list = MemberDAOImpl.getInstance().selectMemberList();
for(MemberBean bean:list){
 out.print(bean.getId()+"<br/>"+);
}

라디오버튼으로 회원정보보기를 해볼까요~

<form action = "t1.jsp">
<%
List<MemberBean> list = MemberDaoImpl.getInstance().selectMemberList();
for(MemberBean bean : list){
 	String id = bean.getId();
	out.print("<input type=radio name =id value="+id+"/>");
    out.print(id+"<br/>");
}

%>
<input type="submit" value="회원정보보기">
</form>
이러면 처음에 회원 아이디가 뿌려지고 라디오 버튼 클릭하고 버튼클릭하면
id 가 날라가요~
profile
건물주가 되는 그날까지

0개의 댓글