Open choi-hyeongseok opened 2 years ago
해당 내용은 springFramework 에서의 데이터베이스 연동과 여러가지 설정과 관련하여, 작성을 하였습니다.
해당 경로의 이미지 파일에 들어가시면 전체적인 구조도가 있습니다.
https://gmlwjd9405.github.io/images/web/springmvc-architecture.png
https://mvnrepository.com/ 경로를 통해서 라이브러리 설치
pom.xml 에 추가를 해주면 됩니다.
<!-- 데이터베이스 연결 --> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.3.10</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client --> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>2.7.4</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.6</version> </dependency>
src/main/webapp/WEB-INF/spring/ 경로 안에 root-context.xml 파일 생성
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="url" value="jdbc:mariadb://220.120.177.169:-/cspi_edu"></property> <property name="driverClassName" value="org.mariadb.jdbc.Driver"></property> <property name="username" value="-"></property> <property name="password" value="-"></property> </bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" /> // 해당 경로로 mybatis-config.xml 파일 생성 <property name="mapperLocations" value="classpath:/mybatis/sql/*Sql.xml" /> </bean>
ref : 객체 입력
value: 값 자체를 뜻
classpath:
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg> </bean>
v : jsp
c : controller
m : model - 일(업무), db 연결해서 service 에서 처리(데이터 처리)
DAO : DB 랑 직접 접속하는 역할
Service : DAO에 데이터를 받아오거나 보낼 때 필요한 일을 처리, DAO 외에 작업도 처리.
com.cspi.test.dao 패키지 생성
package com.cspi.test.dao; import java.util.List; import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import com.cspi.test.vo.FormTestVo; @Repository("FormTestDao") ==> 연결 정보 public class FormTestDao { /* * board 테이블 * board 테이블에서 1번 글을 가져오는 쿼리랑 연결하기 */ // 의존성 주입 // 이 객체를 bean에 주입 @Autowired ==> sqlSession 의존성 주입 SqlSession sqlSession; // mybatis 와 스프링이 db와 통신하기 위해서 만들어주는 세션 // 데이터베이스 public List<FormTestVo> selectFormTest(int no){ // selectForm 쿼리 문을 불러온다. return sqlSession.selectList("formTest.selectFormTest",no); } }
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <typeAlias alias="formTestVo" type="com.cspi.test.vo.FormTestVo"/> </typeAliases> </configuration>
FormTestSql.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="formTest"> <select id="selectFormTest" resultType="formTestVo"> SELECT TITLE ,CONTENT FROM BOARD WHERE NO = #{no} </select> </mapper>
상세하게 적어주셔서 감사합니다!~ 복습에 많은 도움이 되었습니다!
오 ㅋㅋㅋ 형석님 코드 보고 급하게 디비 정보 가렸습니다! ㅎㅎ 그림 자료까지 감사합니다!!
mariaDB,spring connection _mybatis
해당 내용은 springFramework 에서의 데이터베이스 연동과 여러가지 설정과 관련하여, 작성을 하였습니다.
해당 경로의 이미지 파일에 들어가시면 전체적인 구조도가 있습니다.
https://gmlwjd9405.github.io/images/web/springmvc-architecture.png
기본 setting
라이브러리 설치
https://mvnrepository.com/ 경로를 통해서 라이브러리 설치
pom.xml 에 추가를 해주면 됩니다.
root-context.xml 추가
src/main/webapp/WEB-INF/spring/ 경로 안에 root-context.xml 파일 생성
dataSource 로 데이터베이스 연결 설정을 객체
sqlSession 연결 후 mybatis 연결 설정 및 sql.xml 연결 설정
ref : 객체 입력
value: 값 자체를 뜻
classpath:
sqlSession 설정
로컬 상에서의 실행중에 프로세스 port 확인
프로세스 중지/죽이기
Spring MVC
v : jsp
c : controller
m : model - 일(업무), db 연결해서 service 에서 처리(데이터 처리)
DAO : DB 랑 직접 접속하는 역할
Service : DAO에 데이터를 받아오거나 보낼 때 필요한 일을 처리, DAO 외에 작업도 처리.
DAO
com.cspi.test.dao 패키지 생성
mybatis-config.xml
FormTestSql.xml
{} 같은 경우 ' ' 으로 감싸진 형태로 실제 값이 출력된다. 해당 기능을 추가한 이유는 보안상의 문제점 때문인데 입력받은 값에 대해서 ${} 같은 경우 그대로 가져오기 때문에 보안상 데이터를 갈취해 갈 수 가 있다.
{name} ===> 'CSPI'
comment