일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- tibero
- kubectl
- gson
- JPA
- react
- database
- JavaScript
- useEffect
- BPMN
- Java
- jetbrains
- Git
- mybatis
- wildfly
- VSCode
- NCP
- Kubernetes
- dbeaver
- MySQL
- springboot
- Spring
- docker
- log4j2
- nodejs
- gradle
- IntelliJ
- LOG4J
- Windows
- nginx
- intellijIDEA
- Today
- Total
목록mybatis (6)
두 손끝의 창조자
myBatis는 파라미터 바인딩을 위해 #{name} 이나 ${name} 형식으로 바인딩 변수를 선언한다. 대부분 SQL 툴에서는 :name 형태로 바인딩 변수를 지정하는데 myBatis로 작성된 sql은 바인딩 변수 형식을 변경을 해야 DB 툴에서 사용할 수 있다. Intellij에 포함되어 있는 Database Console 에서는 이 바인딩 변수의 패턴을 지정할 수 있다. 그래서 #{name} 이나 ${name} 패턴으로 된 변수도 sql 수정 없이 사용할 수 있다. 환경 설정에서 패턴을 추가하자. 추가된 패턴 : #\{([^\{\}]*)\}
ctrl+f 를 눌러서 찾기/바꾸기 창을 연 뒤에 정규식 옵션을 체크하고 찾기에 #\{(\w+)\}바꾸기에 :$1를 넣는다. 그 반대는 :(\w+)#{$1}이다.
메인 모듈에 mapper 가 있는데 테스트 모듈에서 매퍼 파일을 못 읽어서 Mapped Statements collection does not contain value for 와 같은 예외가 발생할 수 있다. 대부분의 경우 id를 잘 못 넣은 케이스지만 매퍼 파일 자체를 해당 모듈에서만 읽어서 발생하는 문제일 수 있다. String MYBATIS_MAPPER = "classpath*:/mappers/**/*.xml"; 매퍼 경로를 위와같이 변경하고 시도해보자.
MappedStatement mappedStatement = sqlSession.getConfiguration().getMappedStatement(s); List resultMaps = mappedStatement.getResultMaps(); ResultMap resultMap = resultMaps.get(0); Class type = resultMap.getType();
mybatis-crud/UpdateInterceptor.java at master · lidatui/mybatis-crud · GitHub GitHub - lidatui/mybatis-crud Contribute to lidatui/mybatis-crud development by creating an account on GitHub. github.com Principle and Application of MyBatis Interceptor (ofstack.com) Principle and Application of MyBatis Interceptor Principle and Application of MyBatis Interceptor Directory 1. Intercept Object and Int..
MyBatis는 특정 메소드를 인터셉트 할 수 있는 애노테이션인 Intercepts 을 제공한다. Intercepts 의 값으로 메소드 시그니처를 지정해야하는데 메소드 시그니처를 지정하는 애노테이션이 Signature 이다. 메소드 시그니처는 메소드이름과 파라미터 타입이므로 인터셉트 할 메소드를 정확하게 지정한다. 예를 들어 org.apache.ibatis.executor.Executor 인터페이스는 ... int update(MappedStatement ms, Object parameter) throws SQLException; List query(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler)..