static final String MYSQL_URL="jdbc:mysql://localhost:3306/coffee?serverTimezone=Asia/Seoul";
String driver="com.mysql.cj.jdbc.Driver";
//getConnection클래스
DriverManager.getConnection(MYSQL_URL, "rheemingyu", "a1234");
create table simpleGuest(num smallint auto_increment primary key,
image varchar(20),nick varchar(20),pass varchar(20),story varchar(1000),
writeday datetime);
mysql의 자료형은 Oracle과 상이함
1) 숫자 자료형 : TinyInt ~ BigInt (대체로 int, SmalIint 사용), Decimal(M,D) Numeric (M자리 정수, D자리 소수점), Float, Double 등
2) 문자 자료형 : Char(M) (고정 길이), VarChar(M) (유동 길이)
3) 날짜 자료형 : Date (연월일), DateTime, TimeStamp (시분초까지), Time, Year 등
시퀀스 값에 primary key 등 제약 조건 (ex: pk_sawon_num, ck_sawon_score 등)은 동일
insert into simpleGuest (name,pw,image,story) values('민규','1234','경로','내용');
insert into simpleGuest values(null,'민규','1234','경로','내용');
insert into simpleGuest (writeday) values(now());
public class SimpleGuestDao {
DBConnect db=new DBConnect();
public boolean authentification(String num,String pass) {
boolean flag=false;
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="select * from simpleGuest where num=? and pass=?";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, num);
pstmt.setString(2, pass);
rs=pstmt.executeQuery();
if(rs.next())
flag=true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
db.dbClose(rs, pstmt, conn);
}
return flag;
}
}
CRUD DAO에서 비밀 번호를 통해 자신을 인증하는 기능의 메서드
반환 값의 자료형은 boolean (조건문에서 true, false로 작동 지속 및 중지 결정)
1) 두 개의 컬럼 값(시퀀스, 비밀 번호)에 해당하는 데이터를 조회
2-1) 비밀 번호가 맞으면 시퀀스에 해당하는 데이터 조회, 즉 rs.next() 객체가 1회 이상 true 반환하여 메서드의 최종 반환 값(flag)이 true
2-2) 비밀 번호가 틀리면 데이터가 조회되지 않으므로 rs.next() 객체는 항상 false 반환하여 메서드의 최종 반환 값도 false
이 메서드를 이용하여 비밀 번호의 참, 거짓을 판별 가능