프로그래밍/Mybatis 16

Cause: java.sql.SQLException: Invalid parameter object type. Expected 'java.lang.String' but found 'java.util.LinkedHashMap'.;

에러 발생 이유와 해결 sql.xml의 parameterClass가 잘못 설정된 경우 발생 parameterClass를 parameter와 제대로 매칭하면 해결 가능 SELECTUSER_ID , USER_NAME, FROMUSER_MASTER WHERE USER_CD = #userCd# 내 경우 parameter형식이 map인데 string으로 해놓아서 발생하였음 pararmeter=map으로 변경하니 오류 해결🙌

09.28(Mybatis 활용)

Mybatis SqlSessionFactory 생성 Mybatis-config.xml, mapper.xml 파일 생성을 완료했다면, DAO에서 세션 생성을 위한 getSqlSessionFactory() 메소드를 작성 private SqlSessionFactory getSqlSessionFactory() { String resource = "mybatis/mybatis-config.xml"; SqlSessionFactory factory = null; try { InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); fact..

09.25(Mapper 설정)

Mapper 설정 mapper.xml 생성 위치 쿼리 실행이 필요한 model의 위치에 mapper 폴더를 생성하고 식별하기 쉬운 이름을 지어 mapper.xml 파일을 등록 mapper.xml 작성 mapper.xml은 사용하고자 하는 쿼리나 결과로 받을 객체를 선언할 수 있음 SELECT * FROM MEMBER WHERE ID = #{userid} mapper.xml 작성 먼저 xml 파일 최상단에 다음과 같이 xml 형식을 지정하여 이하의 설정내용은 mybatis mapper 설정임을 선언 이어서 태그를 작성하고, 외부에서 접근할 수 있는 이름인 namespace 속성을 기입한다. 이제 이 후 작성될 태그들은 태그 안에 기록 . . . 태그 조회한 결과를 객체와 Row간의 1:1 매칭이 아닌, 원..

09.23(Mybatis)

Mybatis란? 데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 하기 위해 xml 로 구조화한 Mapper 설정 파일을 통해서 JDBC를 구현한 영속성 프레임워크 기존에 JDBC를 통해 구현했던 상당부분의 코드와 파라미터 설정 및 결과 매핑을 xml 설정을 통해 쉽게 구현할 수 있게 해줌 Mybatis API 사이트 http://www.mybatis.org/mybatis-3/ko MyBatis – 마이바티스 3 | 소개 마이바티스는 무엇인가? 마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와 �� mybatis.org Mybatis의 흐름 이전에 JDBC Template을 통해 ..

09.22(Framework)

Framework란? 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 제공하는 라이브러리를 구현해 놓은 것 Framework의 특징 1. 개발자가 따라야 하는 가이드를 제공 2. 개발할 수 있는 범위가 정해져 있음 3. 개발자를 위한 다양한 도구, 플러그인을 지원 Framework와 library의 차이점 라이브러리와 프레임워크의 차이는 제어 흐름에 대한 주도성이 누구에게/어디에 있는지에 있음 프레임워크는 전체적인 흐름을 스스로가 쥐고 있으며 사용자는 그 안에서 필요한 코드를 짜 넣으며 반면에 라이브러리는 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓰는 것임 다시 말해, 라이브러리는 라이브러리를 가져다..