습관제작소
22-08-19 JavaSpring DB연결 라이브러리 설정, Spring이론 본문
SMHRD or ITSchool/JavaSpring and Boot
22-08-19 JavaSpring DB연결 라이브러리 설정, Spring이론
KUDO 2022. 8. 22. 09:26- jdbc 연결하기
- .xml 살펴보기
root-context.xml
- bean 이란?
<!--bean을 정의하는 파일 -->
<!--
bean : java 객체
spring에서의 bean은 spring이 생성, 소멸을 관리 하는 객체
bean태그를 이용해서 등록
class : 어떤 객체를 만들것인가
id : 변수명
property : setName(value)
-->
<bean id="board" class="com.smhrd.domain.Board">
<property name="title" value="스프링Bean"></property>
</bean>
<!--
Board board = new Board();
board.setTitle("스프링 Bean")
-->
DBCP 설정
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<!--bean을 정의하는 파일 -->
<!-- bean : java 객체 spring에서의 bean은 spring이 생성, 소멸을 ㅘㄴ리 하는 객체 bean태그를 이용해서
등록 class : 어떤 객체를 만들것인가 id : 변수명 property : setName(value) -->
<bean id="board" class="com.smhrd.domain.Board">
<property name="title" value="스프링Bean"></property>
</bean>
<!-- Board board = new Board(); board.setTitle("스프링 Bean") -->
<!-- DBCP 설정 -->
<!-- DB와 연결에 필요한 정보를 저장할 객체 생성 (무슨 db쓸래, 아이디비번, 등등~) -->
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<!--hikariConfig class 안에 보면 다 있다 복사해서 넣자 -->
<!-- Driver Class -->
<property name="driverClassName"
value="com.mysql.jdbc.Driver"></property>
<!-- DB 접속 url -->
<property name="jdbcUrl"
value="jdbc:mysql://localhost:3306/mysql"></property>
<!-- User ID -->
<property name="username" value="root"></property>
<!-- User Password -->
<property name="password" value="12345"></property>
</bean>
<!-- hikariConfig를 이용해서 DBCP를 만들어 줄 객체 생성 -->
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource">
<!-- HikariDataSource dataSource = new HikariDataSource(hikariConfig);
<< () 안에 채워주기 -->
<constructor-arg ref="hikariConfig"></constructor-arg>
</bean>
<!-- DBCP를 활용해서 JDBC 기능을 완성할 SqlSessionFactory 생성 -->
<!-- mybatis 라이브러 안 확인 -->
<bean id="sqlSessionFactoryBean"
class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- sqlSessionFactoryBean.setDataSource(dataSource); -->
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- Mapper interface와 xml를 찾아낼 수 있도록 scan을 해야함 -->
<mybatis:scan base-package="com.smhrd.mapper"></mybatis:scan>
</beans>
Mapper 채우기
- boardMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smhrd.mapper.BoardMapper">
<!--
전체 글 조회하는 SQL문
select * from board;
id == 추상메서드의 이름
-->
<select id="boardList" resultType="com.smhrd.domain.Board">
select * from board
</select>
</mapper>
- boardMapper.java
package com.smhrd.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.smhrd.domain.Board;
// class 가 아닌 interface로 하자.
// 이 파일이 Mapper라고 알려주자
@Mapper
public interface BoardMapper {
// 전체 글 조회하는 메서드
// 추상메서드 만들기
public List<Board> boardList();
}
- boardController.java
@Autowired //이걸 사용하면 new 블라블라 사용 안해도 된다.
private BoardMapper mapper;
Spring 흐름도
'SMHRD or ITSchool > JavaSpring and Boot' 카테고리의 다른 글
22-08-29 JavaSpring Ajax 활용(테이블 보기) (0) | 2022.08.29 |
---|---|
22-08-26 JavaSpring Spring에서 Ajax사용하기 (1) | 2022.08.27 |
22-08-22 JavaSpring DB연결 라이브러리 설정(최종), 게시물 작성 (0) | 2022.08.27 |
22-08-18 JavaSpring MVC패턴, Model, 게시물 목록 실습(객체 바인딩, EL, DB연결) (0) | 2022.08.20 |
22-08-16 JavaSpring 환경설정 (0) | 2022.08.20 |
Comments