728x90
반응형
# src/main/java/model/mapper/mybatis.properties
driver=oracle.jdbc.driver.OracleDriver
username=kic
password=1234
url=jdbc:oracle:thin:@localhost:1521:xe
<?xml version="1.0" encoding="UTF-8" ?>
<!-- /src/main/java/model/mapper/mybatis-config.xml -->
<!DOCTYPE configuration PUBLIC "-//mybatis.org/DTD config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="model/mapper/mybatis.properties"/>
<!-- Connection 설정 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers><!-- sql 구문 : mapper 패키지 내부의 인터페이스가 저장 -->
<package name="model.mapper"/>
</mappers>
</configuration>
package model.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import model.Member;
public interface MemberMapper {
@Insert("insert into member (id,pass,name,gender,tel,email,picture)"
+ " values(#{id},#{pass},#{name},#{gender},#{tel},#{email},#{picture})")
int insert(Member mem);
@Select({"<script>",
"select * from member ",
"<if test='id != null'> where id=#{id}</if>",
"order by id",
"</script>"})
List<Member> select(Map<String, Object> map);
@Update("update member set name=#{name}, gender=#{gender}, email=#{email}, "
+ " tel=#{tel}, picture=#{picture} where id=#{id}")
int update(Member mem);
@Delete("delete from member where id=#{id}")
int delete(String id);
@Select("select id from member where email = #{email} and tel = #{tel}")
String idSearch(@Param("email") String email, @Param("tel") String tel);
@Select("select pass from member where id =#{id} and email = #{email} and tel = #{tel}")
String pwSearch(Map<String, Object> map);
@Select("update member set pass= #{pass} where id= #{id}")
int updatePass(@Param("id") String id, @Param("pass") String pass);
}
package model;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import model.mapper.MemberMapper;
public class MemberDao {
//Class : 클래스 정보 저장하고 있는 클래스
//MemberMapper.class : MemberMapper 인터페이스의 클래스 정보
private Class<MemberMapper> cls = MemberMapper.class;
private Map<String,Object> map = new HashMap<>();
public boolean insert(Member mem) {
SqlSession session = DBConnection.getConnection();
try {
int cnt = session.getMapper(cls).insert(mem);
if (cnt > 0) return true; //회원등록 성공
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConnection.close(session);
}
return false;
}
public Member selectOne(String id) {
SqlSession session = DBConnection.getConnection();
try {
map.clear();
map.put("id", id);
return session.getMapper(cls).select(map).get(0);
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConnection.close(session);
}
return null;
}
public boolean update(Member mem) {
SqlSession session = DBConnection.getConnection();
try {
return session.getMapper(cls).update(mem) > 0;
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConnection.close(session);
}
return false;
}
public boolean delete (String id) {
SqlSession session = DBConnection.getConnection();
try {
return session.getMapper(cls).delete(id) > 0;
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConnection.close(session);
}
return false;
}
public List<Member> list() {
SqlSession session = DBConnection.getConnection();
try {
return session.getMapper(cls).select(null);
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConnection.close(session);
}
return null;
}
public String idSearch(String email, String tel) {
SqlSession session = DBConnection.getConnection();
try {
return session.getMapper(cls).idSearch(email,tel);
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConnection.close(session);
}
return null;
}
public String pwSearch(String id, String email, String tel) {
SqlSession session = DBConnection.getConnection();
try {
map.clear();
map.put("id", id);
map.put("email", email);
map.put("tel", tel);
return session.getMapper(cls).pwSearch(map);
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConnection.close(session);
}
return null;
}
public int updatePass(String id, String pass) {
SqlSession session = DBConnection.getConnection();
try {
return session.getMapper(cls).updatePass(id, pass);
} catch(Exception e) {
e.printStackTrace();
} finally {
DBConnection.close(session);
}
return 0;
}
}
728x90
반응형
'study > Mybatis' 카테고리의 다른 글
[Mybatis] 20. Mybatis - 게시판 만들기 (게시글 작성) (0) | 2022.04.20 |
---|---|
[Mybatis] 20. Mybatis - controller, Dao, Mapper (0) | 2022.04.20 |
[Mybatis] 19. Mybatis DB추가, 수정, 삭제하기 (0) | 2022.04.19 |
[Mybatis] 19. Mybatis DB조회하기 (0) | 2022.04.18 |
[Mybatis] 19. Mybatis DB연결하기 (0) | 2022.04.18 |