Java & Kotlin
spring mybatis 사용해보기, 사용법
필자A
2021. 7. 22. 10:51
🌞🌞🌞🌞🌞🌞🌞🌞
mybatis?
개발자가 지정한 SQL, 저장 프로시저, 몇 가지 고급 매핑을 지원하는
퍼시스턴스 프레임워크
사용해보기
모든 mybatis를 사용하는 애플리케이션은
SqlSessionFactory 인스턴스를 필수로 사용합니다.
SqlSessionFactory를 SqlSessionFactoryBuilder 이용해 만들수 있습니다.
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값으로 넘기면 해당 쿼리가 수행이 됩니다.

반응형