자바 프레임워크 4
2026. 3. 18. 14:41ㆍ대우개발원 수업 내용/spring boot, framework
반응형

만들고

테스트
조회 매서드 만들고

테스트

dao 다 확인
todoDAO.java
package idusw.sba.jdbcex.dao;
import idusw.sba.jdbcex.domain.TodoVO;
import lombok.Cleanup;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class TodoDAO {
public String getTime() {
String now = null;
try(Connection connection = ConnectionUtil.INSTANCE.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("select now()");
ResultSet resultSet = preparedStatement.executeQuery()) {
resultSet.next();
now = resultSet.getString(1);
} catch(Exception e) {
e.printStackTrace();
}
return now;
}
public String getTime2() throws Exception {
@Cleanup
Connection connection = ConnectionUtil.INSTANCE.getConnection();
@Cleanup
PreparedStatement preparedStatement =
connection.prepareStatement("select now()");
@Cleanup
ResultSet resultSet = preparedStatement.executeQuery();
resultSet.next();
String now = resultSet.getString(1);
return now;
}
public void insert(TodoVO vo) throws Exception {
String sql = "insert into tbl_todo (title, dueDate, finished) values (?,?,?)";
@Cleanup Connection connection = ConnectionUtil.INSTANCE.getConnection();
@Cleanup PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, vo.getTitle());
preparedStatement.setDate(2, Date.valueOf(vo.getDueDate()));
preparedStatement.setBoolean(3, vo.isFinished());
preparedStatement.executeUpdate();
}
public List<TodoVO> selectAll() throws Exception {
String sql = "select * from tbl_todo";
@Cleanup Connection connection = ConnectionUtil.INSTANCE.getConnection();
@Cleanup PreparedStatement preparedStatement = connection.prepareStatement(sql);
@Cleanup ResultSet resultSet = preparedStatement.executeQuery();
List<TodoVO> list = new ArrayList<>();
while (resultSet.next()) {
TodoVO vo = TodoVO.builder()
.tno(resultSet.getLong("tno"))
.title(resultSet.getString("title"))
.dueDate(resultSet.getDate("dueDate").toLocalDate())
.finished(resultSet.getBoolean("finished"))
.build();
list.add(vo);
}
return list;
}
public TodoVO selectOne(Long tno) throws Exception {
String sql = "select * from tbl_todo where tno = ?";
@Cleanup Connection connection = ConnectionUtil.INSTANCE.getConnection();
@Cleanup PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setLong(1, tno);
@Cleanup ResultSet resultSet = preparedStatement.executeQuery();
resultSet.next();
TodoVO vo = TodoVO.builder()
.tno(resultSet.getLong("tno"))
.title(resultSet.getString("title"))
.dueDate(resultSet.getDate("dueDate").toLocalDate())
.finished(resultSet.getBoolean("finished"))
.build();
return vo;
}
public void delectOne(Long tno) throws Exception {
String sql = "delete from tbl_todo where tno = ?";
@Cleanup Connection connection = ConnectionUtil.INSTANCE.getConnection();
@Cleanup PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setLong(1,tno);
preparedStatement.executeUpdate();
}
public void updateOne(TodoVO todoVO) throws Exception {
String sql = "update tbl_todo set title =?, dueDate = ?, finished = ? where tno =?";
@Cleanup Connection connection = ConnectionUtil.INSTANCE.getConnection();
@Cleanup PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, todoVO.getTitle());
preparedStatement.setDate(2, Date.valueOf(todoVO.getDueDate()));
preparedStatement.setBoolean(3, todoVO.isFinished());
preparedStatement.setLong(4, todoVO.getTno());
preparedStatement.executeUpdate();
}
}
todoDAOTest.java
package dao;
import idusw.sba.jdbcex.dao.TodoDAO;
import idusw.sba.jdbcex.domain.TodoVO;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.time.LocalDate;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
class TodoDAOTest {
private TodoDAO todoDAO;
@BeforeEach
public void ready(){
todoDAO = new TodoDAO();
}
@Test
public void testTime() throws Exception{
System.out.println(todoDAO.getTime2() );
}
@Test
public void testInsert() throws Exception {
TodoVO todoVO = TodoVO.builder()
.title("Sample Title")
.dueDate(LocalDate.of(2026, 3, 20))
.build();
todoDAO.insert(todoVO);
}
@Test
public void testList() throws Exception {
List<TodoVO> list = todoDAO.selectAll();
list.forEach(vo -> System.out.println(vo));
}
@Test
public void testSelectOne() throws Exception {
Long tno = 6L;
TodoVO vo = todoDAO.selectOne(tno);
System.out.println(vo);
}
@Test
public void testUpdateOne() throws Exception {
TodoVO todoVO = TodoVO.builder()
.tno(1L)
.title("Sample Title...")
.dueDate(LocalDate.of(2026, 03, 20))
.finished(true)
.build();
todoDAO.updateOne(todoVO);
}
}
'대우개발원 수업 내용 > spring boot, framework' 카테고리의 다른 글
| 자바 프레임워크 8일차 springex_web(Read, Delete, Update) (0) | 2026.03.27 |
|---|---|
| 자바 프레임워크 7일차 springex_web(Spring MVC & 데이터베이스 연동 핵심 기능 구현) (0) | 2026.03.26 |
| 자바프레임워크 6일차 springex 마무리 springex_web(자바 웹 개발 기본 환경 세팅 및 Servlet/JSP 구현) 만들기 (0) | 2026.03.25 |
| 자바 프레임워크 5 (Spring) (0) | 2026.03.24 |
| 자바프레임워크 1~3일차 (0) | 2026.03.17 |