lprod vo, dao, service, controller

jychae·2022년 10월 4일
0

제이쿼리

목록 보기
2/3
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig SYSTEM "http://ibatis.apache.org/dtd/sql-map-config-2.dtd" PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN">
<sqlMapConfig>
<properties resource="kr/or/ddit/ibatis/config/dbinfo.properties"/>
<settings useStatementNamespaces="true"/>
<typeAlias type="kr.or.ddit.lprod.vo.LprodVO" alias="lprodVo"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property value="${driver}" name="JDBC.Driver"/>
<property value="${url}" name="JDBC.ConnectionURL"/>
<property value="${user}" name="JDBC.Username"/>
<property value="${pass}" name="JDBC.Password"/>
</dataSource>
</transactionManager>
<sqlMap resource="kr/or/ddit/ibatis/mapping/lprod.xml"/>
</sqlMapConfig>
<?xml version="1.0" encoding="UTF-8"?>
<sqlMap namespace="lprod">
<select resultClass="lprodVo" id="lprodList"> select * from lprod </select>
</sqlMap>

LprodVO

package kr.or.ddit.lprod.vo;

public class LprodVO {
	private int lprod_id;
	private String lprod_gu;
	private String lprod_nm;
	
	
	public int getLprod_id() {
		return lprod_id;
	}
	public void setLprod_id(int lprod_id) {
		this.lprod_id = lprod_id;
	}
	public String getLprod_gu() {
		return lprod_gu;
	}
	public void setLprod_gu(String lprod_gu) {
		this.lprod_gu = lprod_gu;
	}
	public String getLprod_nm() {
		return lprod_nm;
	}
	public void setLprod_nm(String lprod_nm) {
		this.lprod_nm = lprod_nm;
	}
	

interface ILprodDao

package kr.or.ddit.lprod.dao;

import java.util.List;

import kr.or.ddit.lprod.vo.LprodVO;

public interface ILprodDao {

	public List<LprodVO> lprodList();
}

interface ILprodService

package kr.or.ddit.lprod.service;

import java.util.List;

import kr.or.ddit.lprod.vo.LprodVO;

//20220929 4번째
public interface ILprodService {

	public List<LprodVO> lprodList();
}

LprodDaoImpl implements ILprodDao

package kr.or.ddit.lprod.dao;

import java.sql.SQLException;
import java.util.List;

import com.ibatis.sqlmap.client.SqlMapClient;

import kr.or.ddit.ibatis.config.SqlMapClientFactory;
import kr.or.ddit.lprod.vo.LprodVO;

public class LprodDaoImpl implements ILprodDao {

	//SqlMapClient 객체
	private SqlMapClient client;
	
	//자기자신의 객체
	private static ILprodDao dao;
	
	//생성자
	private LprodDaoImpl() {
		//SqlMapClient 객체 가져오기
		client = SqlMapClientFactory.getSqlMapClient();
	}
	
	//자신의 객체를 생성하여 리턴하는 메서드
	public static ILprodDao getDao() {
		if(dao==null) dao = new LprodDaoImpl();
		
		return dao;
	}
	
	@Override
	public List<LprodVO> lprodList() {
		List<LprodVO> list = null;
		
		try {
			list = client.queryForList("lprod.lprodList");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return list;
	}

}

LprodServiceImpl implements ILprodService

package kr.or.ddit.lprod.service;

import java.util.List;

import kr.or.ddit.lprod.dao.ILprodDao;
import kr.or.ddit.lprod.dao.LprodDaoImpl;
import kr.or.ddit.lprod.vo.LprodVO;

public class LprodServiceImpl implements ILprodService {
	//dao객체
	private ILprodDao dao;
	
	//자신의 객체
	private static ILprodService service;
	
	//생성자
	private LprodServiceImpl() {
		dao = LprodDaoImpl.getDao();
	}
	
	// 자신의 객체를 생성하여 리턴
	public static ILprodService getService() {
		if(service==null) service = new LprodServiceImpl();
		
		return service;
	}
	
	@Override
	public List<LprodVO> lprodList() {
		List<LprodVO> list = null;
		
		list = dao.lprodList();
		
		return list;
	}

}

lprod.controller / @WebServlet("/LprodList.do")

package kr.or.ddit.lprod.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;

import kr.or.ddit.lprod.service.ILprodService;
import kr.or.ddit.lprod.service.LprodServiceImpl;
import kr.or.ddit.lprod.vo.LprodVO;


/**
 * Servlet implementation class LprodList
 */
@WebServlet("/LprodList.do")
public class LprodList extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public LprodList() {
        super();
        // TODO Auto-generated constructor stub
    }

	// service만 있거나 doPost만 있거나!!!!!!!!! 둘다 있으면 안됨!!! 하나만 있어야함!
    // 서비스일때 만 이거 실행했을때 자료 나옴
    
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		 
		 //0. 클라이언트 요청시 전송되는 데이터를 받는다 - 없다.
	      
	      
	      //1. service객체를 얻는다
	      ILprodService service = LprodServiceImpl.getService();
//	      System.out.println("service =====================" + service );

	      
	      //2. service메소드 호출 - 결과값 받는다.
	      List<LprodVO> list = service.lprodList();
//	      System.out.println("list==================" + list);
	      
	      //------------여기에 만들기 가능!---------------------------------
	      response.setContentType("application/json; charset=utf-8"); 
	      PrintWriter  out = response.getWriter();
	      
	      Gson	gson = new Gson();
	  	  String result = gson.toJson(list);
	  	
	      out.print(result);
	      //----------------------------------------------------------
	      
	      //3. 결과값을 request객체에 저장
	      request.setAttribute("swsdfsf", list);
	      
	      //4. view페이지로 이동 - 0930/lprod.jsp
	      RequestDispatcher disp = request.getRequestDispatcher("0930/lprod.jsp");
	      
	      disp.forward(request, response);

	   

		
	}

}
profile
안녕하세요! 초보개발자 공부 시작!

0개의 댓글