일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mysql
- DB
- Apach
- Stash
- slave node
- 자바
- 아파치
- sql
- 리눅스
- Git
- 엘라스틱서치
- heap메모리
- SonarQube
- Gradle
- Java
- Bitbucket
- spring
- springboot
- 트랜잭션
- 스프링
- Elk
- ElasticSearch
- orm
- 마이바티스
- 레드마인
- npm
- 시스템운영
- JVM
- mybatis
- nodejs
- Today
- Total
목록spring (10)
프로그래머호이잇
빌드 Tool : Gradle db : h2database Spring Boot, Lombok 이용하여 ORM 을 코딩해 보았습니다. build.gradle 의존성 dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-web-services' implementation 'com.h2database:h2' compileOnly 'org.projectlombok:lombok' devel..
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
쿼리 도중 에러가 발생시!!! rollback 해줍니다~!! 설정 방법.@Transactional 요 어노테이션을 메소드나 Class에 붙입니다.
preHandle() 메서드 컨트롤러가 요청을 처리하기 전 실행됨. Insterceptor 와 filter 차이 구조 filter -> dispatcher servlet -> Insterceptor prehandle 메소드 -> controller -> Insterceptor posthandle -> dispatcher servlet -> filter 요런 차이임
aop 시점 설정 Pointcut 선택된 Joinpoints execution(public * *(..)) public 메소드 실행 execution(* set*(..)) 이름이 set으로 시작하는 모든 메소드명 실행 execution(* set*(..)) 이름이 set으로 시작하는 모든 메소드명 실행 execution(* com.xyz.service.AccountService.*(..)) AccountService 인터페이스의 모든 메소드 실행 execution(* com.xyz.service.*.*(..)) service 패키지의 모든 메소드 실행 execution(* com.xyz.service..*.*(..)) service 패키지와 하위 패키지의 모든 메소드 실행 within(com.xyz.se..
저는 Value 어노테이션을 이용하여 진행하겠습니다~ Spring-context.xml 위 구문은 WEB-INF/properties 폴더안에있는 properties를 모두 읽어드리는 구문입니다~ 경로는 원하시는 경로로 변경하세요~ 저는 메일 인증 아이디 패스워드 등을 properties 파일로 만들었긴 때문에 아래와 같이 생성하였습니다. mail.properties mail.host=smtp.naver.com mail.username=아이디 mail.password=패스워드 mail.port=465 mail.address=메일주소 Mail.java @Service public class Mail { @Value("${mail.host}") private String host; @Value("${mail...
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 정의 만으로 사용 가능함!!
저는 Spring 프레임 워크에 있는 Controller 어노테이션과 비슷하게 만들어볼 예정입니다. 어노테이션 이란 ? 쉽게 생각하시면 클래스에 라벨을 붙여주는 것 이라고 생각하시면됩니다. (링크 : http://www.nextree.co.kr/p5864/) 그러면 제일 처음으로 어노테이션을 정의를 해야겠죠?? 이클립스를 이용하시는 분은 file -> New -> annotation 하시면 어노테이션을 만드실수 있구요~ 그냥 Text 에서하시는분들은 요렇게 적어 주시면됩니다. 물론 파일명은 아시다시피 Controller.java 입니다. 위에 @Retention(RetentionPolicy.RUNTIME) 이 구문이 먼지 궁금하실텐데 이 구문은 런타임 시에도 어노테이션을 적용하겠다는 겁니다 이구문이 없으..