Spring

60일차//Mybatis(1) insert, delete, update, select

aesup 2021. 4. 13. 13:09
728x90

 

MyBatisMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<!-- Query문 -->

<mapper namespace="mybatis.MyBatisMapper">

<!-- 
	<insert, delete, select, update		id="외부에서 호출할 문자열"
		parameterType="object"
		resultType="object">
		
		쿼리	#{ 외부로부터 들어오는 값 } - core tag
			${ 숫자 }
			
	</insert, delete, select, update>	
 -->

<insert id="add" parameterType="dto.MemberDto">
	INSERT INTO MEMBERDTO(ID, PWD, EMAIL)
	VALUES( #{ id }, #{ pwd }, #{ email } )
</insert> 

<delete id="remove" parameterType="java.lang.String">
	DELETE FROM MEMBERDTO
	WHERE ID=#{ id }
</delete>



<update id="up" parameterType="dto.MemberDto">
	UPDATE MEMBERDTO SET PWD="ddd" WHERE ID=#{ id }
</update>




<!-- select one -->
<select id="find" parameterType="java.lang.String"
	resultType="dto.MemberDto">
        SELECT * FROM MEMBERDTO
        WHERE ID=#{ id } <!-- #{} == val -->
</select> 
<!-- select list -->
<select id="allData" resultType="dto.MemberDto">
 SELECT * FROM MEMBERDTO
 
</select>


<!-- bbs search  -->
<!-- <select id="bbsSearch" parameterType="dto.BbsParam"
	resultType="dto.BbsDto">
	SELECT*
	FROM BBS
	WHERE 1=1
	<if test="s_category== 'title'">
		AND TITLE LIKE '%'||#{keyword}||'%'
	</if>
	<if test="s_category== 'content'">
		AND CONTENT LIKE '%'||#{keyword}||'%'
	</if>
	<if test="s_category== 'id'">
		AND ID=#{keyword}
	</if>
	
</select> -->


<select id="bbsSearch" parameterType="dto.BbsParam"
	resultType="dto.BbsDto">
	SELECT*
	FROM BBS
	WHERE 1=1
	<choose>
	<when test="s_category== 'title'">
		AND TITLE LIKE '%'||#{keyword}||'%'
	</when>
	<when test="s_category== 'content'">
		AND CONTENT LIKE '%'||#{keyword}||'%'
	</when>
	<when test="s_category== 'id'">
		AND ID=#{keyword}
	</when>
	
	<!-- <otherwise>
	else
	</otherwise>
	 -->
	</choose>
</select>





</mapper>








MainClass.java

package main;

import java.io.InputStream;
import java.util.Iterator;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import dto.BbsDto;
import dto.BbsParam;
import dto.MemberDto;

public class MainClass {
	public static void main(String[] args) throws Exception {
		
		// mybatis 설정파일을 읽어들인다
		InputStream is = Resources.getResourceAsStream("mybatis/config.xml");
		
		// SqlSessionFactory 객체를 취득
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		
		// SqlSession 객체를 취득 
		SqlSession session = factory.openSession();	// session <- 실세
		
		
		/*
		MemberDto dto = new MemberDto("ccc", "111", "a1@a");
		
		//MemberDto dto = new MemberDto("aaa", "111", "a1@a");
		
		int n = session.insert("add", dto);
		if(n > 0) {
			session.commit();
			System.out.println("추가 성공!");
		}else {
			session.rollback();
			System.out.println("추가 실패");
		}
		*/
		
		//MemberDto ddto = new MemberDto("aaa", "111", "a1@a");
		
		/*
		String id ="aaa";
		int d = session.delete("remove","aaa");
		
		
		
		
		if(d > 0) {
			session.commit();
			System.out.println("삭제 성공!");
		}else {
			session.rollback();
			System.out.println("삭제 실패");
		}
		*/
		
		
		/*
		MemberDto sdto = new MemberDto("aaa", "777", "a1@a");
		int s = session.update("update", sdto);
		if(s > 0) {
			session.commit();
			System.out.println("수정 성공!");
		}else {
			session.rollback();
			System.out.println("수정 실패");
		}
		*/
		
		/*
		//Select
		String id="aaa";
		MemberDto dto = session.selectOne("find", id);
		System.out.println(dto.toString());
		*/
		
		
		
		//select
		/*
		List<MemberDto> list = session.selectList("allData");
		for (MemberDto m: list) {
			System.out.println(m.toString());
		
			*/
			
			
		//bbs select
		BbsParam param = new BbsParam("title","주식이야기");
		List<BbsDto> list = session.selectList("bbsSearch", param);
		for (BbsDto bbs: list) {
			System.out.println(bbs.toString());
		}	
			
			
			
		
		

	}
}













BbsParam.java

package dto;

import java.io.Serializable;

public class BbsParam implements Serializable{
	private String s_category;
	private String keyword;
	
	public BbsParam() {
		
	}

	public BbsParam(String s_category, String keyword) {
		super();
		this.s_category = s_category;
		this.keyword = keyword;
	}

	public String getS_category() {
		return s_category;
	}

	public void setS_category(String s_category) {
		this.s_category = s_category;
	}

	public String getKeyword() {
		return keyword;
	}

	public void setKeyword(String keyword) {
		this.keyword = keyword;
	}
	
	
}
728x90