티스토리 뷰
멤버의 정보를 넣어두는 용도로 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연결정보를 저장하는 작업이 선행되어야 한다.
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 |
댓글