본문 바로가기

기록

spring프로젝트_0901

> mariaDB와 springframework 연동 확인 / 회원정보 더미 데이터로 로그인 테스트 시작

pom.xml 내 mybatis / mybatis-spring / spring-jdbc / HikariCP / mariadb-java-client 라이브러리 dependency 추가

> junit 으로 connection 단위테스트 

** connection 객체 얻을 때 전달하는 파라미터 url 형식
 
jdbc:mariadb://IP:포트번호/데이터베이스명?user=유저명&password=유저비밀번호

[의존 객체 주입방법] 

* 의존 주입 :: 의존성있는 객체를 외부에서 주입한다

bean 객체 내에 의존객체 주입하는 대표 방법 

1) 생성자 주입_constructor-arg :: 의존하는 객체를 생성자를 통해 주입

2) 기본자료형 주입(= setter 메소드를 이용한 의존객체 주입)_property 

:: private 접근제어자로 선언되어 있어 외부 클래스에서 사용할때는 setter/getter 메소드 필요

 

[ant style pattern]

- *, **, ? 특수문자를 이용해서 경로를 표현한다.

- 대부분의 URL Mapping 설정은 Ant Pattern으로 한다.

종류 설명
* 0개 이상의 문자와 매칭한다.
** 0개 이상의 디렉토리 혹은 파일과 매칭한다.
? 1개의 문자와 매칭한다.

// * 예시 : member로 시작하고 확장자가 .jsp로 끝나는 모든 경로
@GetMapping("/member/*.jsp")

// ** 예시 : folders 로 시작하고 중간에 0개 이상의 중간 경로가 존재하며 /files로 끝나는 모든 경로
@PostMapping("/folders/**/files")

// ? 예시 : abc/d로 시작하고 1글자가 사이에 위치하며 fg.hi로 끝나는 모든 경로
@RequestMapping("/abc/d?fg")

-----------------------------------------------------------------------------------------------------------

MySQL 으로 Insert 중 발생 경고 " data truncated for column at '컬럼명' row 1 "

>>  'Data Truncated' 경고 메시지는 데이터의 일부분이 잘렸을 때 나오는 메시지로

발생 원인은 다양하지만, 일반적으로 자료형의 범위를 벗어나는 큰 데이터를 삽입했을 때 해당 경고가 발생

[java.util.Date와 java.sql.Date의 차이점]

:: java.util.Date 클래스는 날짜와 시간 정보를 모두 나타내는 반면 java.sql.Date 클래스는 날짜 정보만 저장

ORM ::  mybatis

*orm > java object와 sql문 사이의 자동 mapping 기능을 지원, oop언어&rdbms 연동 편의를 돕는 프레임워크

------------------------------------------------------------------------------------------------------------------------------

dataSource(hikaricp) & sqlSessionFactory 객체 생성 확인

	<!-- MariaDB JDBC DataSource -->
 	<bean class="com.zaxxer.hikari.HikariConfig" id="hikariConfig">
 		<property name="driverClassName" value="org.mariadb.jdbc.Driver"/>
		<property name="jdbcUrl" value="jdbc:mariadb://localhost:3306/데이터베이스명"/> 	
		<property name="username" value="root"/>	
		<property name="password" value="비밀번호"/>	
 	</bean>
    
    <!-- 커넥션 정보를 bean으로 등록하여 인자로 넘김 & dataSource로 db연결 획득 -->
 	<bean class="com.zaxxer.hikari.HikariDataSource" id="dataSource">
 		<constructor-arg ref="hikariConfig"/>
 	</bean>
    <!-- Mybatis SqlSessionFactoryBean -->
 	<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory" >
 		<property name="dataSource" ref="dataSource"/>
 		
        <!-- 이부분의 설정은 적용하지 않았음 
        <property name="configuration" value="classpath:/mybatis-config.xml"/>
	  	<property name="mapperLocations" value="classpath:/mappers/**/*Mapper.xml"/> 
        -->
        
 	</bean> 
 	
 	<bean class="org.mybatis.spring.SqlSessionTemplate" id="sqlSessionTemplate">
 		<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
 	</bean>

 

'기록' 카테고리의 다른 글

spring프로젝트_0906  (0) 2022.09.06
spring프로젝트_0905  (0) 2022.09.05
spring프로젝트_0902  (0) 2022.09.02
spring 프로젝트_0831  (0) 2022.08.31
spring 프로젝트_0830  (0) 2022.08.30