반응형
JDBC란? (Java Database Connectivity)
- 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API
즉, DB와 자바 프로그램을 연결시켜주는 연결 다리의 역할을 한다는 것이다.
SELECT DAO 예제
public Role getRole(String name) {
Role role = null;
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(dburl, dbUser, dbpasswd);
String sql = "SELECT name, tel FROM card WHERE name = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, name);
rs = ps.executeQuery(); // select는 executeQuery() 이용
// ResultSet type의 변수에 결과 입력
if (rs.next()) {
String name1 = rs.getString("name");
String tel1 = rs.getString("tel");
role = new Role(name1, tel1);
}
} catch (Exception e) {
e.printStackTrace();
}
finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return role;
}
INSERT DAO 예제
public int addRole(Role role) {
int insertCount = 0;
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(dburl, dbUser, dbpasswd);
String sql = "INSERT INTO card (name, tel) VALUES ( ?, ? )";
ps = conn.prepareStatement(sql);
ps.setString(1, role.getName());
ps.setString(2, role.getTel());
insertCount = ps.executeUpdate(); // insert, delete, update는 executeUpdate() 이용
// int type 변수에 결과 입력
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return insertCount;
}
DELETE DAO 예제
public int deleteRole(Integer roleId) {
int insertCount = 0;
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(dburl, dbUser, dbpasswd);
String sql = "DELETE from role where role_id = ?";
ps = conn.prepareStatement(sql);
ps.setInt(1, roleId);
insertCount = ps.executeUpdate(); // insert, delete, update는 executeUpdate() 이용
// int type 변수에 결과 입력
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return insertCount;
}
UPDATE DAO 예제
public int updateRole(Role role) {
int insertCount = 0;
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(dburl, dbUser, dbpasswd);
String sql = "UPDATE role set description = ? where role_id = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, role.getDescription());
ps.setInt(2, role.getRoleId());
insertCount = ps.executeUpdate(); // insert, delete, update는 executeUpdate() 이용
// int type 변수에 결과 입력
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return insertCount;
}
DriverManager를 이용해 connection을 가져오고,
conn 객체를 이용해 statement를 가져오고,
statement를 통해 ResultSet을 가져옴을 확인할 수 있다.
JSP란? (java server page)
JSTL이란? (JSP Standard Tag Library)
- JSTL은 JSP 페이지에서 조건문 처리, 반복문 처리 등을 html tag형태로 작성할 수 있게 도와준다.
JSP 페이지에서 자바 언어와 프론트엔드 언어가 섞여있으면 다루기 힘드니까, 자바 언어를 html tag 형태로 작성할 수 있도록 도와주는 것이다.
서블릿이란?
반응형
'Programming > JSP & Servlet & Mysql' 카테고리의 다른 글
실습 6) 서블릿 Request, Response 이해하기 (0) | 2020.11.11 |
---|---|
실습 5) 서블릿 작성방법 😇, 서블릿 생명주기 (0) | 2020.11.10 |
실습 4) 서블릿이란? 자바 웹 어플리케이션 (0) | 2020.11.10 |
실습 3) 맥에서 톰캣 설치하기, 톰캣 실행하기 (0) | 2020.11.10 |
실습 2) 저급언어와 고급언어, HTTP란?, WAS (0) | 2020.10.30 |