일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- npm
- springboot
- slave node
- mybatis
- SonarQube
- Apach
- 마이바티스
- orm
- Gradle
- 자바
- 트랜잭션
- Stash
- sql
- DB
- heap메모리
- 엘라스틱서치
- Elk
- 시스템운영
- 레드마인
- JVM
- nodejs
- mysql
- Bitbucket
- ElasticSearch
- Git
- 리눅스
- spring
- 아파치
- 스프링
- Java
- Today
- Total
목록mybatis (4)
프로그래머호이잇
Mybatis #과 $의 차이 PrepareStatment(#)와 Statment($) Statement($) 1. 단일로 사용될 때 빠른 속도를 지닙니다. 2. 쿼리에 인자를 부여할 수 없습니다. 3. 매번 컴파일을 수행해야 합니다. 4. 단순 String Replace (SQL 인잭션 공격에 취약할수있음!!!!!!!!!!) PreparedStatement(#) 1. 쿼리에 인자를 부여할 수 있습니다. 2. 처음 프리컴파일 된 후, 이후에는 컴파일을 수행하지 않습니다. 3. 여러번 수행될 때 빠른 속도를 지닙니다.
SELECT * FROM BLOG state = #{state} AND title like #{title} AND author_name like #{author.name} 을 쓰지 않고 where로 쓴다면 SELECT * FROM BLOG where state = #{state} AND title like #{title} AND author_name like #{author.name} 위와 같이 될 겁니다. 이렇게 되면 어떤 문제가 발생하냐.. if 절이 모두 실행 되지 않는다면 sql 문장이SELECT * FROM BLOG where 위와 같이 되서 에러가 발생합니다..ㅠㅠ 그리고 첫번쨰 if 절이 실행이 되지 않는다면..SELECT * FROM BLOG where AND title like #{tit..
public void countQuery(@Param("name")String parameter); 이렇게 @Param 어노테이션을 붙이면 본인이 원하는 명으로 mapper에서 사용할 수 있다. 위와 같은 경우는 #{name}이 되겠다. 물론, 어노테이션을 쓰지 않아도 mapper에서 #{param1} 이라던지, #{parameter} 로 파라미터 명을 적으면 사용이 가능하다. 출처 : http://blast21.kr/38
pom.xml org.springframework spring-jdbc ${org.springframework-version} org.mybatis mybatis-spring 1.2.2 org.mybatis mybatis 3.1.1 mysql mysql-connector-java 5.1.21 commons-dbcp commons-dbcp 1.4 root-context.xml UserDAO.javapublic interface UserDAO {public String getUserID(); } User.xml select id from user where seq = 1; 요런식으로 하면 Interface 정의 만으로 사용 가능함!!