ÃֽŠ°Ô½Ã±Û(JAVA)
2022.05.02 / 15:32

JSP-JDBC/mybatis ¿¬½À¿¹Á¦

ÄÚÄÚ·Î
Ãßõ ¼ö 119
JSP-JDBC/mybatis ¿¬½À¿¹Á¦
±âŸ/Servlet 2020. 12. 11. 11:26

¹Ì¸® ¸¸µé¾î ³õÀº MYMEMBER ¶ó´Â Å×À̺í Á¤º¸¸¦ Ãâ·ÂÇغ¸ÀÚ!

 

1. src Æú´õ ¾È¿¡ ÆÐÅ°Áö¸¦ »ý¼ºÇØ ÁÖ°í jarÆÄÀÏÀ» ¶óÀ̺귯¸®¿¡ ³Ö¾î³õ´Â´Ù

(ÆÐÅ°Áö À̸§Àº ´Ù¸¥ ÇÁ·ÎÁ§Æ®¿Í °ãÄ¡Áö ¾Ê´Â ÆíÀÌ ÁÁ´Ù)

 

 

µ¥ÀÌÅÍ º£À̽º¿Í ¿¬°áÇØÁÖ´Â SMC.xml

<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD config 3.0//EN"
"http://mybatis.apache.org/dtd/mybatis-3-config.dtd">

<configuration>

	<typeAliases>
		<typeAlias type="com.jdbcex2.bean.Mymember" alias="mymember" />
	</typeAliases>
	
	<environments default="development">
		<environment id ="development">
			<transactionManager type="JDBC" /> 
			
			<dataSource type = "UNPOOLED">
				<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
				<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:xe"/>
				<property name="username" value="madang"/>
				<property name="password" value="madang"/>
			</dataSource>

		</environment>
	</environments>
	
	<mappers>
		<mapper resource = "com/jdbcex2/xml/Mymember.xml" />
	</mappers>
	
</configuration>

MBUtils.java

package com.jdbcex2.common;
import java.io.IOException;
import java.io.InputStream;

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

//mybatis¸¦ ºÎ¸±?? »ç¿ëÇÒ ¼ö ÀÖ´Â À¯Æ¿¸®Æ¼ Ŭ·¡½º
public class MBUtils {
	public static SqlSessionFactory getSqlSessionFatory() {
		String resource = "com/jdbcex2/common/SMC.xml" ;
		InputStream reader = null;
		try {
			reader = Resources.getResourceAsStream(resource);
		} catch (IOException e) {
			e.printStackTrace();
			throw new IllegalArgumentException(e);
		}
		return new SqlSessionFactoryBuilder().build(reader);
	}
	
	public static SqlSession getSession() {
		return getSqlSessionFatory().openSession(true);
	}
}

 

±âº»À¸·Î »ç¿ëÇÒ ÀÎÅÍÆäÀ̽º IDAO

package com.jdbcex2.dao;
import java.sql.SQLException;
import java.util.List;

public interface IDAO<T, K> {
	public List<T> selectAll() throws SQLException;
	public int insert(T baen) throws SQLException;
	public int update(T bean) throws SQLException;
	public int delete(K key) throws SQLException;
	public T selectById (K key) throws SQLException;
	public int maxIdNum() throws SQLException; 
}

IDAO¿¡ ÀÚ¼ÕÀÎ MymemberDAO

package com.jdbcex2.dao;
import com.jdbcex2.bean.Mymember;

public interface MymemberDAO extends IDAO<Mymember, Integer> {

}

Mymember Å×À̺íÀ» °¡Á®¿À´Â Ŭ·¡½º

package com.jdbcex2.bean;
import java.sql.Timestamp;

public class Mymember {
	private int num;
	private String id;
	private Timestamp jday;
	private String pw;
	private String tel;
	private String secession;
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public Timestamp getJday() {
		return jday;
	}
	public void setJday(Timestamp jday) {
		this.jday = jday;
	}
	public String getPw() {
		return pw;
	}
	public void setPw(String pw) {
		this.pw = pw;
	}
	public String getTel() {
		return tel;
	}
	public void setTel(String tel) {
		this.tel = tel;
	}
	public String getSecession() {
		return secession;
	}
	public void setSecession(String secession) {
		this.secession = secession;
	}
	@Override
	public String toString() {
		return "Mymember [num=" + num + ", id=" + id + ", jday=" + jday + ", pw=" + pw + ", tel=" + tel + ", secession="
				+ secession + "]";
	}
	
	
}

 

Mymember.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">

<mapper namespace="com.jdbcex2.dao.MymemberDAO">
	<resultMap id = "result" type="mymember">
		<result property = "num" column="num" />
		<result property = "id" column="id" />
		<result property = "jday" column="jday" />
		<result property = "pw" column="pw" />
		<result property = "tel" column="tel" />
		<result property = "secession" column="secession" />
	</resultMap>
	
	<select id="selectAll" resultMap="result" resultType="Integer">
		<![CDATA[
			SELECT * FROM MYMEMBER
		]]>
	</select>
	
	<insert id ="insert" parameterType="mymember">
		<![CDATA[
			INSERT INTO MYMEMBER (NUM, ID, PW, TEL, JDAY, SECESSION)
			VALUES (MYMEMBER_SEQ.NEXTVAL, #{id}, #{pw}, #{tel}, #{jday}, #{secession} )
		]]>
	</insert>
	
	<update id ="update" parameterType="mymember">
		<![CDATA[
			UPDATE MYMEMBER SET PW=#{pw}, TEL=#{tel}, JDAY=#{jday}, SECESSION=#{secession}
			WHERE ID = #{id}
		]]>
	</update>
	
	<delete id="delete" parameterType="mymember">
		<![CDATA[
			DELETE FROM MYMEMBER WHERE WHERE ID = #{id}
		]]>
	</delete>
	
	<select id="selectById" resultType="mymember" parameterType="int" >
		<![CDATA[
			SELECT * FROM MYMEMBER WHERE ID = #{id}
		]]>
	</select>
	
	<select id="maxIdNum" resultType="Integer">
		<![CDATA[
			SELECT MAX(NUM) FROM MYMEMBER
		]]>
	</select>
	

</mapper>

 

½ÇÁ¦ µ¥ÀÌÅ͸¦ Ãâ·Â ¹× Å×½ºÆ®

package com.jdbcex2.mybatistest;

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

import org.apache.ibatis.session.SqlSession;

import com.jdbcex2.bean.Mymember;
import com.jdbcex2.dao.MymemberDAO;
import com.jdbcex2.common.MBUtils;

//¸¶À̹ÙƼ½º ±¸µ¿ Å×½ºÆ®
public class MainTest {
	public static void main(String[] args) throws SQLException {
		SqlSession session = MBUtils.getSession();
		MymemberDAO mymemberDao = session.getMapper(MymemberDAO.class);
		
		//°¡Àå Å« ³Ñ¹ö°ª
		int maxNum = mymemberDao.maxIdNum();
		System.out.println(maxNum);
		
		//¸ðµç ¸®½ºÆ® ºÒ·¯¿À±â
		List<Mymember> allData = mymemberDao.selectAll();
		for(Mymember x:allData) {
			System.out.println(x);
		}
	}

}