Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

GreenDao 본문

JSP/MYbatis

GreenDao

GAWON 2023. 6. 1. 18:49
package org.joonzis.ex;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.joonzis.mybatis.DBService;

public class GreenDao {
   // 필드
  private SqlSessionFactory factory = null;
   
   // 싱글톤
   private GreenDao() {// 기본 생성자(외부에서 접근할 수 없게 private 처리)
	   factory = DBService.getFactory();
   }   
   private static GreenDao dao = new GreenDao();
   public static GreenDao getInstance() {
      return dao;
   }
   
   /*
    openSession()    select문에서 사용(커밋을 하지 않음)
    openSession(true)	자동커밋 
    openSession(false) 	수동커밋
    
    sqlSession의 메소드 종류
    1.selectList("mapper에서 사용할 id")  			--검색 결과가 여러 개 일때 List(테이블)
    2.selectList("mapper에서 사용할 id" 파라미터)		--파라미터 전달 시
    3.selectOne("mapper에서 사용할 id")				--검색 결과가 한개 일 때 (테이블)
    4.selectOne("mapper에서 사용할 id" 파라미터)
    5.insert("mapper에서 사용할 id" 파라미터)
    6.update("mapper에서 사용할 id")
    7.delete("mapper에서 사용할 id")
    
    각 메소드의 두 번째 인자 값으로 파라미터를 던질 수 있다
    던질 파라미터가 없을 시 생략
  */
   
   
   //DAO-쿼리작성,데이터가공 -> jsp <-> DAO-연결 <-> Mapper-쿼리
   // 메소드
   //1.전체검색
   public List<GreenVO> getAllList(){
	   SqlSession sqlSession = factory.openSession();//sqlSession 받아오기
	   List<GreenVO> list = sqlSession.selectList("select_all");//mapper가있으면 select_all문자열에 ,하고 mapper넣어주면 두개가 들어간다
	   sqlSession.close();
	   return list;
   }
   public GreenVO getselectone(String id){
	   SqlSession sqlSession = factory.openSession();
	   GreenVO list = sqlSession.selectOne("view_one",id);
	   sqlSession.close();
	   return list;
   }
   //2.회원 추가
   public int getInsert(GreenVO vo) {
	   SqlSession sqlSession = factory.openSession(false);//수동커밋
	   int result = sqlSession.insert("insert", vo); 
	   if(result > 0) {
		   sqlSession.commit();
	   }
	   sqlSession.close();
	   return result;
   }
   //3.회원 삭제
   public int getRemove(GreenVO vo) {
	   SqlSession sqlSession = factory.openSession(false);
	   int result = sqlSession.delete("delete", vo);
	   if(result > 0) {
		   sqlSession.commit();
	   }
	   sqlSession.close();
	   return result;
   }
   //4.회원 수정 정보 가져오기 (테이블의 리턴타입으로 int string , 여러개의 데이터를 가져올때 list로 가져온다 하나의 데이터는 vo )
   public int getUpdate(GreenVO vo) {
	   SqlSession sqlSession = factory.openSession(false);
	   int result = sqlSession.update("update", vo);
	   if(result > 0) {
		   sqlSession.commit();
	   }
	   sqlSession.close();
	   return result;
   }
   
	
}

'JSP > MYbatis' 카테고리의 다른 글

MANIFEST.MF  (0) 2023.06.01
sqlmap.xml  (0) 2023.06.01
green.xml  (0) 2023.06.01
DBService  (0) 2023.06.01
GreenVO  (0) 2023.06.01