Java/Spring MVC

2020.07.24 MyBatis 프레임워크, xml 팁

우롱차 2020. 8. 30. 17:48
728x90
MyBatis : frame work
우리가 jdbc로 적었던 코딩들은 마이바티스가 그런걸 안적고
쓰지 않고도 새로운 방법으로 데이터베이스에 저장할 수 있는
라이브러리라고 항간에는 말하지만 프레임워크라고 말하는게 맞다.
DBMS를 사용할때 쓰는 것이 좋다.
마이바티스는 xml파일로 주로 사용한당
3.대로 오면서 오류가나도 잘 안보여좀 ㅜㅜ 스프링프레임워크도 구래 그래서 어렵다!!!!

필수적으로 들어가는 것들이 안나타나서 뜨는 오류
 
enviroments에는 environment라는 태그가 필요하고
environment안에는 transactionManager 와 dataSource 가 필요하다는 것
그래서 안넣어주면 빨갛게 밑줄이 그어진다
 

enviroments에는 default라는 변수가 설정되어야함
default를 가르켜서 속성이라고 한다(필드변수)
디폴트값을 설정 안해줘서 나타나는 오류

 
id도 속성 type도 속성
xml에서는 태그안에 들어가는 id같은 요소들을 통틀어서 속성(propoty)라 부른다.
주석도 꺽새로 닫히기 때문에 중간에 넣는건 문법오류를 일으킬 확률이 높다
그러니 태그 밖에다가 주석 전체를 몰자!(선생님의 팁)
 

트랜잭션은 타입만 설정해주면 되기 때문에 셀프클로징을 해준다
인바이러먼트같은 것들은 안에 다른엘리먼트 태그들이 필요하기때문에
닫히는 태그가 필요하지만
트랜잭션은 따로 필요가 없기때문에 뒤쪽에다 / 만 넣어주는 것을 보고 셀프클로징이라고 한다.
 
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
// builder라는 build메서드한테 엑셈엘파일을 읽어들이는 정보를 만들어서
// 보내면 몰라도 알아서 만들어서 보내주는 (자료결합도)
sqlSessionFactory = builder.build(inputStream);
 
InputStream inputStream = null;
// 이렇게 분리해준 이유는 try-catch로 오류를 잡아주기 위해서 분리해줌
// Resources.getResourceAsStream(contextFile) < contextfile에 있는
// 소스를 읽어서 나한테 inpustream으로 만들어달라 하는
try {
 
inputStream = Resources.getResourceAsStream(contextFile);

<select id="selectAll">
SELECT * FROM tbl_order
</select>
  • 그런 코드를만들어라는!
  • select해서 다오클래스에 보내면 테이블로 올거아님?
public List<OrderVO> selectAll();
  • orderDao임플했지만 데이터 한개한개를 VO로 묶고 리스트로 만드는
  • 그러면 데이터 한개한갤르 VO로 묶고 리스트로 만든다.
ㅇ리가 매번 했던 set add를 마이바티스가 해주는것
#{seq} : 변수를 쓸때는 샵에 중괄호 그 안에 변수명
 
변수이름은 반드시 소문자로 적어야함 < VO에있는 변수와같아서
 
<select id="selectAll" resultType="com.biz.order.config.OrderVO">
orderVO에 있는 타입을 참조해서 만들으라 라는 의미!!! 리절트타입
 
저걸 줄여서 쓸 수 있음
<typeAliases>
type="com.biz.order.model.OrderVO" alias="OrderVO"/>
</typeAliases>
앞으로OrderVO라는별명으로 한다이거임~~!
 
<delete id="delete">
DELETE FROM tbl_order WHERE o_seq = #{seq}
</delete>
 
//xml 파일이 오류가 날때 도저히 못찾겠다
일단 실행해봐 그게 버그일수도잇음
728x90