티스토리 뷰

파일 만드는 위치 확인

 

멤버의 정보를 넣어두는 용도로 memberDTO를 사용한다.

package member;

import java.sql.Timestamp;

public class MemberDTO {
	// 자바파일 : 데이터를 담아서 전달
	// 데이터를 저장할 공간 => 멤버변수 => private => 데이터 은닉
	private String id;
	private String pass;
	private String name;
	private Timestamp date;

	// 데이터 접근 메서드, 값을 저장하는 메서드 set, 값을 가져오는 메서드 get
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Timestamp getDate() {
		return date;
	}
	public void setDate(Timestamp date) {
		this.date = date;
	}
	
	
}

 

memberDAO 파일에 자주 쓰는 메서드를 만들어 불러오는 식으로 진행한다.

아래와 같이 DB 연결 메서드를 넣어 쉽게 연결이 가능하다.

package member;

import java.sql.Connection;

public class MemberDAO {

	// DB 연결 메서드
	public Connection getConnection() throws Exception{

		Context init=new InitialContext();
		DataSource ds=(DataSource)init.lookup("java:comp/env/jdbc/MysqlDB"); // 자원위치/자원이름
		Connection con=ds.getConnection();
		return con;
	}
}

 

아래와 같이 Connection con 생성 후 getConnection() 호출만으로 DB에 연결되게끔 하면 된다.

	// 회원가입 메서드
	public void insertMember(MemberDTO memberDTO) {
		Connection con = null;
		PreparedStatement pstmt=null;
		try {
			con = getConnection();
			
			String sql="insert into members(id,pass,name,date,email,address,address2,phone,mobile) values(?,?,?,now(),?,?,?,?,?)";
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, memberDTO.getId());
			pstmt.setString(2, memberDTO.getPass());
			pstmt.setString(3, memberDTO.getName());
			pstmt.setString(4, memberDTO.getEmail());
			pstmt.setString(5, memberDTO.getAddress());
			pstmt.setString(6, memberDTO.getAddress2());
			pstmt.setString(7, memberDTO.getPhone());
			pstmt.setString(8, memberDTO.getMobile());
			
			pstmt.executeUpdate();
			
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			// 기억장소 할당해제
			// Connection con, PreparedStatement pstmt, Resultset rs 해제
			if(pstmt!=null)try { pstmt.close(); }catch(SQLException ex){}
			if(con!=null)try { con.close(); }catch(SQLException ex){}
			
		}
	}

단, getConnection의 경우, 아래와 같이 DB연결정보를 저장하는 작업이 선행되어야 한다.

 

webapp-META-INF

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context>
	<Resource name="jdbc/MysqlDB"
			  auth="Container"
			  type="javax.sql.DataSource"
			  driverClassName="com.mysql.cj.jdbc.Driver"
			  url="jdbc:mysql://localhost:3306/db이름?serverTimezone=UTC"
			  username="root"
			  password="1234"
			  />
</Context>

 

'배운 것 기록 > jsp' 카테고리의 다른 글

MVC2 등장 배경  (0) 2022.07.25
[jsp] 페이지 만들기  (0) 2022.07.07
[jsp] delete, list 구현  (0) 2022.06.15
[jsp] insert, update 구현(DB연결, 쿼리 실행)  (0) 2022.06.14
[jsp] login 구현  (0) 2022.06.12
댓글
최근에 올라온 글
«   2025/01   »
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 31
글 보관함