>Java >java지도 시간 >SpringBoot2에 Mybatis 프레임워크를 통합하는 방법

SpringBoot2에 Mybatis 프레임워크를 통합하는 방법

WBOY
WBOY앞으로
2023-05-19 18:25:061338검색

1. Mybatis 프레임워크

1. mybatis 소개

MyBatis는 맞춤형 SQL, 저장 프로시저 및 고급 매핑을 지원하는 뛰어난 지속성 계층 프레임워크입니다. MyBatis는 거의 모든 JDBC 코드와 매개변수 수동 설정 및 결과 세트 검색을 방지합니다. MyBatis는 간단한 XML 또는 주석을 사용하여 기본 유형, 인터페이스 및 Java POJO(Plain Old Java Objects, Plain Old Java Object)를 구성하고 데이터베이스의 레코드에 매핑할 수 있습니다.

2. Mybatis 기능

1)sql语句与代码分离,存放于xml配置文件中,方便管理
2)用逻辑标签控制动态SQL的拼接,灵活方便
3)查询的结果集与java对象自动映射
4)编写原生态SQL,接近JDBC
5)简单的持久化框架,框架不臃肿简单易学

3. 적용 가능한 시나리오

MyBatis는 SQL 자체에 중점을 두고 있으며 충분히 유연한 DAO 레이어 솔루션입니다.
MyBatis는 높은 성능 요구 사항이 있거나 변화하는 요구 사항이 있는 프로젝트에 적합한 선택이 될 것입니다.

2. SpringBoot2와의 통합

1. 프로젝트 구조 다이어그램

SpringBoot2에 Mybatis 프레임워크를 통합하는 방법

이 연결 풀은 druid 연결 풀을 사용합니다.

2. 핵심 종속성

<!-- mybatis依赖 -->
<dependency>
    <groupid>org.mybatis.spring.boot</groupid>
    <artifactid>mybatis-spring-boot-starter</artifactid>
    <version>1.3.2</version>
</dependency>
<!-- mybatis的分页插件 -->
<dependency>
    <groupid>com.github.pagehelper</groupid>
    <artifactid>pagehelper</artifactid>
    <version>4.1.6</version>
</dependency>

3. 핵심 구성

mybatis:
  # mybatis配置文件所在路径
  config-location: classpath:mybatis.cfg.xml
  type-aliases-package: com.boot.mybatis.entity
  # mapper映射文件
  mapper-locations: classpath:mapper/*.xml

4. 리버스 엔지니어링으로 생성된 파일

SpringBoot2에 Mybatis 프레임워크를 통합하는 방법

코드는 여기에 게시되지 않습니다.

5. 기본 테스트 인터페이스 작성

// 增加
int insert(ImgInfo record);
// 组合查询
List<img info alt="SpringBoot2에 Mybatis 프레임워크를 통합하는 방법" > selectByExample(ImgInfoExample example);
// 修改
int updateByPrimaryKeySelective(ImgInfo record);
// 删除
int deleteByPrimaryKey(Integer imgId);</imginfo>

7. 컨트롤 레이어 테스트 클래스

@Service
public class ImgInfoServiceImpl implements ImgInfoService {
    @Resource
    private ImgInfoMapper imgInfoMapper ;
    @Override
    public int insert(ImgInfo record) {
        return imgInfoMapper.insert(record);
    }
    @Override
    public List<img info alt="SpringBoot2에 Mybatis 프레임워크를 통합하는 방법" > selectByExample(ImgInfoExample example) {
        return imgInfoMapper.selectByExample(example);
    }
    @Override
    public int updateByPrimaryKeySelective(ImgInfo record) {
        return imgInfoMapper.updateByPrimaryKeySelective(record);
    }
    @Override
    public int deleteByPrimaryKey(Integer imgId) {
        return imgInfoMapper.deleteByPrimaryKey(imgId);
    }
}</imginfo>

3. 페이징 플러그인 통합

1.
@RestController
public class ImgInfoController {
    @Resource
    private ImgInfoService imgInfoService ;
    // 增加
    @RequestMapping("/insert")
    public int insert(){
        ImgInfo record = new ImgInfo() ;
        record.setUploadUserId("A123");
        record.setImgTitle("博文图片");
        record.setSystemType(1) ;
        record.setImgType(2);
        record.setImgUrl("https://avatars0.githubusercontent.com/u/50793885?s=460&v=4");
        record.setLinkUrl("https://avatars0.githubusercontent.com/u/50793885?s=460&v=4");
        record.setShowState(1);
        record.setCreateDate(new Date());
        record.setUpdateDate(record.getCreateDate());
        record.setRemark("知了");
        record.setbEnable("1");
        return imgInfoService.insert(record) ;
    }
    // 组合查询
    @RequestMapping("/selectByExample")
    public List<img info alt="SpringBoot2에 Mybatis 프레임워크를 통합하는 방법" > selectByExample(){
        ImgInfoExample example = new ImgInfoExample() ;
        example.createCriteria().andRemarkEqualTo("知了") ;
        return imgInfoService.selectByExample(example);
    }
    // 修改
    @RequestMapping("/updateByPrimaryKeySelective")
    public int updateByPrimaryKeySelective(){
        ImgInfo record = new ImgInfo() ;
        record.setImgId(11);
        record.setRemark("知了一笑");
        return imgInfoService.updateByPrimaryKeySelective(record);
    }
    // 删除
    @RequestMapping("/deleteByPrimaryKey")
    public int deleteByPrimaryKey() {
        Integer imgId = 11 ;
        return imgInfoService.deleteByPrimaryKey(imgId);
    }
}</imginfo>

2. 페이징 구현 코드

http://localhost:8010/insert
http://localhost:8010/selectByExample
http://localhost:8010/updateByPrimaryKeySelective
http://localhost:8010/deleteByPrimaryKey

3. 테스트 인터페이스

<?xml  version="1.0" encoding="UTF-8" ?>
nbsp;configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <plugins>
        <!--mybatis分页插件-->
        <plugin>
            <property></property>
        </plugin>
    </plugins>
</configuration>

위 내용은 SpringBoot2에 Mybatis 프레임워크를 통합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제