220822 오늘의 훈련 jdbc

(。◠ ◠。)·2022년 8월 22일

국비 개발 훈련 일기

목록 보기
21/35

application.properties설정

server.port=9000

#jsp설정
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

#oracle set
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521/xe
spring.datasource.username=green01
spring.datasource.password=1234

build.gradle설정

	implementation 'javax.servlet:jstl'
	implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'

서비스

public interface IMemberDAO {
	
	public List<MemberDTO> list();
	
	public MemberDTO getMember(String id);
	
	public int regMember(MemberDTO member);
	
	public int delMembet(String id);
}

서비스구현체

클레스에 @Repository가 붙는다!!!

@Autowired
private JdbcTemplate jdbcTemplate;
를 한다!

@Repository
//데이터베이스랑 연동하는..dao라고 보면 됨.
public class MemberDAO implements IMemberDAO{
	
	@Autowired
	private JdbcTemplate jdbcTemplate;
	
	//select문은 query 다른건 update
	public List<MemberDTO> list(){
		String query = "select * from member";
		List<MemberDTO> list = 
			jdbcTemplate.query
				(query, new BeanPropertyRowMapper<MemberDTO>(MemberDTO.class));
		return list;
	}

	@Override
	public MemberDTO getMember(String id) {
		String query = "select * from member where id='"+id+"'";
		MemberDTO member = 
			jdbcTemplate.queryForObject
				(query, 
					new BeanPropertyRowMapper<MemberDTO>(MemberDTO.class)
					);
		return member;
	}

	@Override
	public int regMember(MemberDTO member) {
		String query = "insert into member values(?,?,?,?)";
		return jdbcTemplate.update(query, member.getId(),
				member.getPw(),member.getName(),member.getTel());
	}

	@Override
	public int delMembet(String id) {
		String query = "delete from member where id = ?";
		return jdbcTemplate.update(query,id);
	}
}

컨트롤러


return "redirect:memberList";
잊지말락우..

@Controller어노테이션
서비스 구현체를 @Autowired한다

@Controller
@Slf4j
public class Mycontroller {
	@Autowired
	//가 있어서 new 안해줘도 됨 IOC 제어의 역전
	private MemberDAO memberDao;
	
	@RequestMapping("/")
	public String root() {
		log.info("root....");
		
		return "index";
	}
	
	@RequestMapping("/memberList")
	public void list(Model model) {
		log.info("memberList....");
		List<MemberDTO>list=memberDao.list();
		model.addAttribute("lists",list);
	}
	
	@RequestMapping("/getMember")
	public void getMember(String id, Model model) {
		log.info("getMember....");
		MemberDTO member = memberDao.getMember(id);
		model.addAttribute("list",member);
	}
	
	@RequestMapping("/regForm")
	public void regForm() {
		log.info("regForm....");
	}
	
	@RequestMapping("/regMember")
	public String regMember(MemberDTO member) {
		log.info("regMember....");
		memberDao.regMember(member);
		return "redirect:memberList";
	}
	
	@RequestMapping("/delMember")
	public String delMember(String id) {
		log.info("del....");
		memberDao.delMembet(id);
		return "redirect:memberList";
	}
	
}
profile
화이탱!

0개의 댓글