100일 챌린지/빅데이터기반 인공지능 융합 서비스 개발자

Day 72 - SpringBoot에서 Mybatis 사용하기

ksyke 2024. 11. 11. 14:59

목차

    application.properties

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/xe
    spring.datasource.username=scott
    spring.datasource.password=tiger
    
    logging.level.web=debug
    logging.level.com.gimhae.sts06=debug

    DeptVo

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @Builder
    public class DeptVo {
    	int deptno;
    	String dname,loc;
    }

    DeptDao(Interf)

    public interface DeptDao {
    	
    	public List<DeptVo> selectAll();
    	public DeptVo selectOne(int key);
    	public void insertOne(DeptVo bean);
    	public int updateOne(DeptVo bean);
    	public int deleteOne(int key);
    }


    DeptService

    @Slf4j
    @Service
    @RequiredArgsConstructor
    public class DeptService {
    
    	final SqlSession sqlSession;
    	
    	public List<DeptVo> pullList(){
    		DeptDao deptDao=sqlSession.getMapper(DeptDao.class);
    		log.debug(deptDao.toString());
    		return deptDao.selectAll();
    	}
    	
    	public void putList(DeptVo bean) {
    		DeptDao deptDao=sqlSession.getMapper(DeptDao.class);
    		log.debug(bean.toString());
    		deptDao.insertOne(bean);
    	}
    }

    Mappers>DeptMapper.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
      PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
      "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
      
    <mapper namespace="com.gimhae.sts06.model.DeptDao">
      <select id="selectAll" resultType="Bean">
        select * from dept order by deptno
      </select>
      <insert id="insertOne" parameterType="bean">
      insert into dept (deptno,dname,loc) values (#{deptno},#{dname},#{loc})
      </insert>
    </mapper>

    MybatisConfig.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "https://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    	<typeAliases>
      <typeAlias alias="bean" type="com.gimhae.sts06.model.DeptVo"/>
    	</typeAliases>
    	<mappers>
    		<mapper resource="mappers/DeptMapper.xml"/>
    	</mappers>
    </configuration>

    cmd로 post 방식 보내기