티스토리 뷰

🌞🌞🌞🌞🌞🌞🌞🌞

mybatis?

 

개발자가 지정한 SQL, 저장 프로시저, 몇 가지 고급 매핑을 지원하는

퍼시스턴스 프레임워크

 

사용해보기

 

모든 mybatis를 사용하는 애플리케이션은

SqlSessionFactory 인스턴스를 필수로 사용합니다.

SqlSessionFactorySqlSessionFactoryBuilder 이용해 만들수 있습니다.

 

String rs = "마이바티스설정경로";
InputStream is = Resources.getResourceAsStream(rs);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession ss = factory.openSession(true);
ss.insert("{매퍼이름}.{쿼리요소이름}");

XML을 사용하였습니다.

마이 바티스 설정 경로를 문자열로 작성한 뒤

mybatis에서 제공해주는 메서드(ResourcesAsStream)를 사용해

inputstream으로 변환해 줍니다.

 

그 후 빌더로 factory를 만들어 뽑은 sqlSession인스턴스로

설정 파일 내에 작성해둔 mapper정보를 사용합니다.

 

🐸간단 예시🐸

 

SqlSession ss = factory.openSession(true);
ExampleEntity e = ss.selectOne("testMapper.select", 5);
System.out.println(e.getName());

openSession안의 값은

autoCommit 유무입니다.

값을 안 넣을 시 기본값은 false이므로

commit을 따로 해줘야 합니다.

 

받아온 SqlSession인스턴스로

select, isnert, delete 등 쿼리를 수행할 수 있습니다.

 

<mapper namespace="testMapper">
  <insert id="insert" useGeneratedKeys="true">
  	insert into ex_table (name)values ("user1")
  </insert>
  <select id="select" resultType="com.mycom.myapp.ExampleEntity">
  	select * from ex_table where id =  #{id}
  </select>
</mapper>

mapper태그 네임스페이스 값과

안에 자식 태그들의 id값을 '.'을 사용해 이어서

sqlSession값으로 넘기면 해당 쿼리가 수행이 됩니다.

반응형

'Java & Kotlin' 카테고리의 다른 글

java stream  (0) 2021.07.24
Java File Class 알아보자  (0) 2021.07.23
REST API  (0) 2021.07.22
java 정렬과 비교  (0) 2021.07.18
테스트코드 작성후 느낀점  (0) 2021.07.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함