감자도리22 2024. 2. 3. 14:03

환경 : Eclipse

 

데이터베이스와 직접적인 상호적용을 담당하는 객체 클래스를 생성합니다.

 

[UserExDao.java]

package userEx.dao;

import java.util.List;

import org.springframework.jdbc.core.JdbcTemplate;

import userEx.dto.UserExDto;
import userEx.mapper.UserExMapper;
import userEx.util.JdbcHelper;

//member테이블에 대한 CRUD작업을 처리하는 클래스
public class UserExDao {
	//메소드에서 공용으로 사용하는 도구들을 생성
	private JdbcTemplate jdbcTemplate = JdbcHelper.getJdbcTemplate();
	private UserExMapper mapper = new UserExMapper();
		
		//가입(등록, Create)
		public void insert(UserExDto dto) {
			String sql = "insert into user_info("
					+ "user_id, user_password, user_nickname, "
					+ "user_birthdate, user_phone, user_email, "
					+ "user_zipcode, user_address_line1, user_address_line2 "
					+ ") values(?, ?, ?, ?, ?, ?, ?, ?, ?)";
			Object[] data = {
				dto.getUserId(), dto.getUserPassword(), dto.getUserNickname(),
				dto.getUserBirthdate(), dto.getUserPhone(), dto.getUserEmail(),
				dto.getUserZipcode(), dto.getUserAddressLine1(), dto.getUserAddressLine2()
			};
			jdbcTemplate.update(sql, data);
		}

		//목록(조회, Read)
		public List<UserExDto> selectList() {
			String sql = "select * from user_info order by user_id asc";
			return jdbcTemplate.query(sql, mapper);
		} 
		//검색(조회, Read)
		public List<UserExDto> selectList(String column, String keyword) {
			String sql = "select * from user_info where instr("+column+", ?) > 0 "
															+ "order by "+column+" asc, user_id asc";
			Object[] data = {keyword};
			return jdbcTemplate.query(sql, mapper, data);
		}

		//상세(조회, Read)
		public UserExDto selectOne(String userId) {
			String sql = "select * from user_info where user_id = ?";
			Object[] data = {userId};
			List<UserExDto> list = jdbcTemplate.query(sql, mapper, data);
			return list.isEmpty() ? null : list.get(0);
		}

		//비밀번호 변경(수정, Update)
		public boolean updateUserPw(UserExDto dto) {
			String sql = "update user_info set user_password=? where user_id=?";
			Object[] data = {dto.getUserPassword(), dto.getUserId()};
			
			return jdbcTemplate.update(sql, data) > 0;
		}
		
		//회원정보 삭제
		public boolean delete(String userId) {
			String sql = "delete user_info where user_id = ?";
			Object[] data = {userId};
			return jdbcTemplate.update(sql, data) > 0;
		}
}

 

 

 

 

 

개인 공부 기록용입니다:)

728x90