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 방식 보내기