<?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);
}
}