moonscode 236

학습 // Spring // MyBatis // Mapper

`업데이트 :: 2018.11.13 Mapper InjectionMapper 등록Mapper 검색Mapper Injection데이터접근객체인 DAO를 만드는 것보다 직접 "SqlSessionTemplate" 혹은 "SqlSessionDaoSupport를" 사용마이바티스 스프링연동모듈은 다른 빈에 직접 주입할 수 있는 스레드 안전한 매퍼를 생성가능 public class FooServiceImpl implements FooService { private UserMapper userMapper; // injection public void setUserMapper(UserMapper userMapper) { // injection this.userMapper = userMapper; } public User..

Spring/MyBatis 2018.11.13

학습 // Spring // MyBatis // Transaction

업데이트 :: 2018.11.01 TransactionsDataSourceTransactionManagerContainer Manager Transactions (CMT)Programmatic Transaction ManagementEXTransactions마이바티스 스프링 연동모듈을 사용하는 중요한 이유중 또 하나 마이바티스가 스프링 트랜잭션에 자연스럽게 연동가능 하다는 것스프링 트랜잭션 관리자를 한 번 설정하면, 스프링에서 트랜잭션을 설정할 수 있음@Transaction과 AOP 스타일의 설정을 모두 지원하나의 SqlSession객체가 생성되고 트랜잭션이 동작하는 동안 지속적으로 사용세션은 트랜잭션이 완료되면 적절히 커밋되거나 롤백됨DataSourceTransactionManager @Bean pub..

Spring/MyBatis 2018.11.13

학습 // Spring // MyBatis // SqlSessionFactory

업데이트 :: 2018.11.01 Quick SetupSqlSessionFactoryBeanQuick Setup org.mybatis mybatis-spring x.x.x 의존성 추가 SqlSessionFactory는 DataSource를 필요로 함DataSource :자바 애플리케이션에 DataBase를 연동하기 위한 추상화된 객체public interface UserMapper { @Select("SELECT * FROM users WHERE id = #{userId}") User getUser(@Param("userId") String userId); } Mapper는 반드시 구현체 클래스가 아닌 인터페이스로 정의UserMapper 인터페이스는 MapperFactoryBean을 사용해서 스프링 DI..

Spring/MyBatis 2018.11.13

학습 // Spring // MyBatis // SqlSession

업데이트 :: 2018.11.13 SqlSessionSqlSessionTemplateSqlSessionDaoSupportSqlSession마이바티스는 SqlSession 생성을 위해 SqlSessionFactory를 사용세션을 한번 생성하면 매핑구문을 실행하거나 커밋 또는 롤백을 하기 위해 세션을 사용마지막으로 더 이상 필요하지 않은 상태가 되면 세션을 닫음마이바티스 스프링 연동 모듈 org.mybatis mybatis-spring x.x.x SqlSessionFactory를 직접 사용하지 않음설정에 따라 자동으로 커밋 혹은 롤백을 수행하고 닫혀지는, 스레드에 안전한 SqlSession 개체가 스프링 빈에 주입SqlSessionTemplate스프링 연동모듈의 핵심SqlSession을 구현하고 코드에서 S..

Spring/MyBatis 2018.11.13

학습 // Spring // MyBatis // 개념 // 설정

[MyBatis]마이바티스는 SQL과 자바객체를 매핑하는 사상에서 개발된 데이터베이스 접근용 프레임워크 [MyBatis 특징]SQL의 체계적인 관리, 선언적 정의 ( 설정파일, 애너테이션 ) -> 비즈니스로직에서 SQL을 감출 수 있음자바 객체와 SQL 입출력 값의 투명한 바인딩동적 SQL 조합 [SQL 지정방법][매핑파일]SQL 외부에 파일로 정리 할 수 있음[애너테이션]SQL 지정이 간단하나, 애너테이션의 표현력과 유연성의 제약탓에 복잡한 SQL에 적합하지 않은 방법. [MyBatis 주요 API][MyBatis 주요컴포넌트]설정파일 (Config)마이바티스 동작설정을 지정Mapper Interface매핑 파일이나 애너테이션에 정의한 SQL에 대응하는 자바 인터페이스Mapping XMLSQL과 객체의..

Spring/MyBatis 2018.10.30

실습 // AWS // EC2 // 프리티어 // 셋팅

프리티어를 통한 AWS 실습 - 인스턴스 생성하기 [프리티어알아보기] https://aws.amazon.com/ko/free/ [인스턴스선택]다음과 같은 인스턴스 스팩을 사용합니다.루트 디바이스 : ebs가상화 : hvm [인스턴스스팩설정] 프리티어는 기본적으로 micro 크기만 지원메모리 1GB스토리지 EBS [인스턴스검토]AMI 세부정보, 인스턴스 세부정보는 위와 동일인스턴스유형보안그룹, 스토리지, 태그 등을 추가할 수 있습니다. [키페어등록]키 페어 이름 설정[키 페어 다운로드] 클릭keypair_name.pem 과 같은 키를 다운 받을 수 있다. (해당 키는 AWS서비스를 사용하는데 필요한 키임으로 보관을 철저히해야합니다.)키페어를 다운받았다면 [인스턴스시작] 클릭 [인스턴스상태확인] 인스턴스가 ..

Server/AWS 2018.10.23

학습 // Java // IO // Console

업데이트 :: 2018.10.16 ConsoleConsoleimport java.io.*; /** * # Console * * 키보드로 입력을 받고 화면으로 출력하는 소프트웨어 * 입력 : System.in * 출력 : System.out, System.console() * */ public class Doc_Console { public static void main(String[] args) { systemIn(); systemOut(); } /** * System.in * * @date 2018.10.16 * @author SDM * @version 1.0 * */ public static void systemIn() { try { InputStream is = System.in; int ascii..

Java/Java 개념 2018.10.16

학습 // Java // IO

업데이트 :: 2018.10.16 IO packageIO packagepackage docs.io; import java.io.*; /** * # 스트림이란 * * 스트림은 단일 방향으로 연속적으로 흘러가는 것을 말합니다. * 입력스트림 :: 프로그램이 데이터를 입력 * 출력스트림 :: 프로그램이 데이터를 출력 * * # 자바의입출력 * * 자바는 입출력 API를 "java.io" 패키지에서 처리합니다. * 스트림은 크게 두 종류로 구분되고 사용하는 파일이 다릅니다. * - 바이트(byte)기반 스트림 * - 문자(character)기반 스트림입 * * */ public class Doc_IO { public static String BASE_FILE = System.getProperty("user.di..

Java/Java 개념 2018.10.16