<DAO>
package com.smhrd.dao;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import com.smhrd.dao.SqlSessionManager;
import com.smhrd.domain.Member;
public class DAO {
private SqlSessionFactory sqlSessionFactory = SqlSessionManager.getSqlSession();
private SqlSession sqlSession = null;
// 회원가입 메소드
public int Join(Member vo) {
int row = 0;
try {
sqlSession = sqlSessionFactory.openSession(true);
row = sqlSession.insert("com.smhrd.dao.DAO.Join", vo);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return row;
}
// 로그인 메소드
public Member login(Member vo) {
Member result = null;
try {
sqlSession = sqlSessionFactory.openSession(true);
result = sqlSession.selectOne("com.smhrd.dao.DAO.Login", vo);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return result;
}
}
<MemberDAO>
package com.smhrd.dao;
import java.util.ArrayList;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import com.smhrd.domain.HelmetVO;
import com.smhrd.domain.Member;
import com.smhrd.domain.UlocationVO;
public class MemberDAO {
private SqlSessionFactory sqlSessionFactory = SqlSessionManager.getSqlSession();
private SqlSession sqlSession = null;
//회원관리 메소드
public ArrayList<Member> getAllList() {
ArrayList<Member> list = new ArrayList<Member>();
try {
sqlSession = sqlSessionFactory.openSession(true);
list = (ArrayList) sqlSession.selectList("com.smhrd.dao.MemberDAO.getAllList");
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return list;
}
// 사용자 위치 메소드
public UlocationVO Ulocation(String mem_id) {
UlocationVO vo = new UlocationVO();
try {
sqlSession = sqlSessionFactory.openSession(true);
vo = sqlSession.selectOne("com.smhrd.dao.MemberDAO.Ulocation", mem_id);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return vo;
}
public HelmetVO whereHelmet(String hel_number) {
HelmetVO vo = new HelmetVO();
try {
sqlSession = sqlSessionFactory.openSession(true);
vo = (HelmetVO)sqlSession.selectOne("com.smhrd.dao.MemberDAO.Hlocation", hel_number);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return vo;
}
}
<ModuleDAO>
package com.smhrd.dao;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import com.smhrd.domain.moduleVO;
public class moduleDAO {
private SqlSession sqlSession = null;
private SqlSessionFactory sqlSessionFactory = SqlSessionManager.getSqlSession();
public int updateGPS(moduleVO vo) {
int row =0;
try {
sqlSession = sqlSessionFactory.openSession(true);
row = sqlSession.update("com.smhrd.dao.moduleDAO.updateGPS", vo);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
if(row>0) {
System.out.println("updateGPS 성공");
}
return row;
}
public int updateLost(String hel_number) {
int row = 0;
try {
sqlSession = sqlSessionFactory.openSession(true);
row = sqlSession.update("com.smhrd.dao.moduleDAO.updateLost", hel_number);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return row;
}
}
<SqlSessionManager>
package com.smhrd.dao;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionManager {
static SqlSessionFactory sqlSession;
// 객체 생성시 실행되는 구간(객체를 부르기만 해도 동일하게 실행되는 구간이다.)
// 생성자 : 인스턴스를 생성하는 메소드
// 서로 다른 인스턴스(주소 값이 서로 다른 객체)도 동일한 내용을 공유한다.
// static(정적인 or 공유변수)
// 내용 전체 복붙해서 쓰는데 resource 내용만 바꿔주기! --> "com/smhrd/database/mybatis-config.xml";
static {
// 1) 연결할 설정 정보 가져오기--> .이아닌 /로 표시 주의!
String resource = "com/smhrd/dao/mybatis-config.xml";
// 2) 문자열을 읽어서 진짜 파일로 되돌려준 도구를 하나 꺼내오기
Reader reader;
try {
// 3) config파일을 읽어서 class path 경로형태를 가진 Reader객체로 반환
// 문자열로 된 config파일을 진짜 해석할 수 있게 도와주는 역할
reader = Resources.getResourceAsReader(resource);
// 4) config파일안에 있는 데이터베이스 정보를 기반으로
// DB랑 연결통로를 가지고 있을수 있게 해주는 구간
sqlSession = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
// 5) DB랑 연결하고 있는 연결통로에 대한 정보를 갖고있는 객체 반환
// DB연결, 종료, 실행 세션관리
public static SqlSessionFactory getSqlSession() {
return sqlSession;
}
}
<UseDAO>
package com.smhrd.dao;
import java.util.ArrayList;
import org.apache.coyote.http11.upgrade.UpgradeServletOutputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import com.smhrd.domain.AccVO;
import com.smhrd.domain.HelmetVO;
import com.smhrd.domain.Member;
import com.smhrd.domain.UseVO;
public class UseDAO {
private SqlSession sqlSession = null;
private SqlSessionFactory sqlSessionFactory = SqlSessionManager.getSqlSession();
public int useInsert(UseVO vo) {
int row = 0;
try {
sqlSession = sqlSessionFactory.openSession(true);
row = sqlSession.insert("com.smhrd.dao.UseDAO.useInsert", vo);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return row;
}
public AccVO accView(String hel_number) {
AccVO vo = null;
try {
sqlSession = sqlSessionFactory.openSession(true);
vo = (AccVO)sqlSession.selectOne("com.smhrd.dao.UseDAO.accSelectOne", hel_number);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return vo;
}
public UseVO useList(String mem_id) {
UseVO result = new UseVO();
try {
sqlSession = sqlSessionFactory.openSession(true);
result = sqlSession.selectOne("com.smhrd.dao.UseDAO.useList", mem_id);
} catch (Exception e) {
e.printStackTrace();
}finally {
sqlSession.close();
}
return result;
}
public UseVO useList2(String hel_number) {
UseVO result = new UseVO();
try {
sqlSession = sqlSessionFactory.openSession(true);
result = (UseVO)sqlSession.selectOne("com.smhrd.dao.UseDAO.useList2", hel_number);
} catch (Exception e) {
e.printStackTrace();
}finally {
sqlSession.close();
}
return result;
}
public int stop(String mem_id) {
int row = 0;
try {
sqlSession = sqlSessionFactory.openSession(true);
row =sqlSession.update("com.smhrd.dao.UseDAO.stop", mem_id);
} catch (Exception e) {
e.printStackTrace();
}finally {
sqlSession.close();
}
return row;
}
public HelmetVO startGPS(String hel_number) {
HelmetVO vo = null;
try {
sqlSession = sqlSessionFactory.openSession(true);
vo = sqlSession.selectOne("com.smhrd.dao.UseDAO.helSelectOne", hel_number);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return vo;
}
public int stopGPS(UseVO vo) {
int row = 0;
try {
sqlSession = sqlSessionFactory.openSession(true);
row = sqlSession.update("com.smhrd.dao.UseDAO.stopGPS", vo);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return row;
}
public int accList(AccVO accvo) {
int row = 0;
try {
sqlSession = sqlSessionFactory.openSession(true);
row = sqlSession.insert("com.smhrd.dao.UseDAO.accList", accvo);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return row;
}
public ArrayList<UseVO> usinglist(String mem_id) {
ArrayList<UseVO> list = new ArrayList<UseVO>();
try {
sqlSession = sqlSessionFactory.openSession(true);
list = (ArrayList)sqlSession.selectList("com.smhrd.dao.UseDAO.usinglist", mem_id);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return list;
}
public AccVO accListView(int use_number) {
AccVO vo = null;
try {
sqlSession = sqlSessionFactory.openSession(true);
vo = (AccVO)sqlSession.selectOne("com.smhrd.dao.UseDAO.accListView", use_number);
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return vo;
}
}
<ListMapper>
<?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.smhrd.dao.MemberDAO" >
<select id="getAllList" resultType="Member">
select * from member
</select>
<select id="Ulocation" parameterType="String" resultType="UlocationVO">
select u.mem_id, u.kick_using, h.hel_number, h.hel_loc_lat, h.hel_loc_long from use_list u, helmet h
where h.hel_number = u.hel_number and mem_id = #{mem_id} and kick_using = 1
</select>
<select id="Hlocation" parameterType="String" resultType="HelmetVO">
select * from helmet where hel_number=#{hel_number}
</select>
</mapper>
<MemberMapper>
<?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.smhrd.dao.DAO" >
<insert id="Join" parameterType="Member" >
insert into member
values(2, #{mem_id}, #{mem_pw}, #{mem_name}, #{mem_gender}, #{mem_blood}, #{mem_phone}, #{mem_subphone}, #{mem_birth}, #{drivenum})
</insert>
<select id="Login" parameterType="Member" resultType="Member">
select * from member where mem_id = #{mem_id} and mem_pw = #{mem_pw}
</select>
</mapper>
<moduleMapper>
<?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.smhrd.dao.DAO" >
<insert id="Join" parameterType="Member" >
insert into member
values(2, #{mem_id}, #{mem_pw}, #{mem_name}, #{mem_gender}, #{mem_blood}, #{mem_phone}, #{mem_subphone}, #{mem_birth}, #{drivenum})
</insert>
<select id="Login" parameterType="Member" resultType="Member">
select * from member where mem_id = #{mem_id} and mem_pw = #{mem_pw}
</select>
</mapper>
<mybatis-config>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias type="com.smhrd.domain.Member" alias="Member"/>
<typeAlias type="com.smhrd.domain.HelmetVO" alias="HelmetVO"/>
<typeAlias type="com.smhrd.domain.UseVO" alias="UseVO"/>
<typeAlias type="com.smhrd.domain.AccVO" alias="AccVO"/>
<typeAlias type="com.smhrd.domain.UlocationVO" alias="UlocationVO"/>
<typeAlias type="com.smhrd.domain.moduleVO" alias="moduleVO"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@project-db-stu.ddns.net:1524:xe"/>
<property name="username" value="cgi_1_0516_4"/>
<property name="password" value="smhrd4"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/smhrd/dao/MemberMapper.xml"/>
<mapper resource="com/smhrd/dao/ListMapper.xml"/>
<mapper resource="com/smhrd/dao/UseMapper.xml"/>
<mapper resource="com/smhrd/dao/moduleMapper.xml"/>
</mappers>
</configuration>
<UseMapper>
<?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.smhrd.dao.UseDAO">
<insert id="useInsert" parameterType="UseVO">
INSERT INTO use_list(use_number, kick_number, hel_number, mem_id, start_loc_lat, start_loc_long)
VALUES (use_seq.NEXTVAL, #{kick_number}, #{hel_number}, #{mem_id}, #{start_loc_lat}, #{start_loc_long})
</insert>
<select id="accSelectOne" parameterType="String" resultType="AccVO">
SELECT * FROM acc_view WHERE hel_number = #{hel_number} and kick_using = 1
</select>
<select id="useList" parameterType="String" resultType="UseVO">
SELECT use_number, kick_using, kick_number, hel_number, mem_id, start_time
FROM use_list
where mem_id = #{mem_id} and kick_using = 1
</select>
<select id="useList2" parameterType="String" resultType="UseVO">
SELECT use_number from use_list where hel_number = #{hel_number} and kick_using = 1
</select>
<update id="stop">
UPDATE use_list set kick_using = 2
where mem_id =#{mem_id} AND kick_using = 1
</update>
<select id="helSelectOne" parameterType="String" resultType="HelmetVO">
SELECT * FROM helmet WHERE hel_number = #{hel_number}
</select>
<update id="stopGPS" parameterType="UseVO">
UPDATE use_list SET end_loc_lat = #{end_loc_lat}, end_loc_long = #{end_loc_long}, end_time = TO_CHAR(SYSDATE, 'YYYY-MM-DD, HH24:MI:SS')
WHERE use_number = #{use_number}
</update>
<insert id="accList" parameterType="AccVO">
insert into acc_list(acc_num, use_number, acc_loc_lat, acc_loc_long) values(acc_seq.NEXTVAL, #{use_number}, #{acc_loc_lat}, #{acc_loc_long})
</insert>
<select id="usinglist" resultType="UseVO" parameterType="String">
select * from used_list where kick_using = 2 and mem_id = #{mem_id}
</select>
<select id="accListView" parameterType="int" resultType="AccVO">
SELECT * FROM acc_list WHERE use_number = #{use_number}
</select>
</mapper>
'2차 프로젝트' 카테고리의 다른 글
아두이노 Module 코드 (0) | 2022.07.22 |
---|---|
FrontController 코드 (0) | 2022.07.22 |
Domain 코드 (0) | 2022.07.22 |
Controller 코드 (0) | 2022.07.22 |
프로젝트 산출문서 (0) | 2022.07.22 |