ÃֽŠ°Ô½Ã±Û(JAVA)
2022.05.02 / 15:37
JSP-JDBC/mybatis ¿¬½À¿¹Á¦
ÄÚÄÚ·Î
Ãßõ ¼ö 101
±âŸ/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);
}
}
}