Heim >Java >javaLernprogramm >So integrieren Sie das Mybatis-Framework in SpringBoot2

So integrieren Sie das Mybatis-Framework in SpringBoot2

WBOY
WBOYnach vorne
2023-05-19 18:25:061338Durchsuche

1. Mybatis-Framework

1. Einführung in mybatis

MyBatis ist ein hervorragendes Persistenzschicht-Framework, das benutzerdefiniertes SQL, gespeicherte Prozeduren und erweiterte Zuordnung unterstützt. MyBatis vermeidet fast den gesamten JDBC-Code und das manuelle Festlegen von Parametern sowie das Abrufen von Ergebnismengen. MyBatis kann einfaches XML oder Annotationen verwenden, um native Typen, Schnittstellen und Java-POJOs (Plain Old Java Objects, einfache alte Java-Objekte) zu konfigurieren und Datensätzen in der Datenbank zuzuordnen.

2. Mybatis-Funktionen

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

3. Anwendbare Szenarien

MyBatis konzentriert sich auf SQL selbst und ist eine ausreichend flexible DAO-Layer-Lösung.
MyBatis ist eine gute Wahl für Projekte, die hohe Leistungsanforderungen haben oder sich ändernde Anforderungen haben.

2. Integration mit SpringBoot2

1. Projektstrukturdiagramm

So integrieren Sie das Mybatis-Framework in SpringBoot2

unter Verwendung des Druidenverbindungspools , der Verbindungspool.

2. Kernabhängigkeit

<!-- 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. Durch Reverse Engineering generierte Dateien

# 🎜🎜#

Ich werde den Code hier nicht posten. So integrieren Sie das Mybatis-Framework in SpringBoot2

5. Schreiben Sie eine grundlegende Testschnittstelle

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

// 增加
int insert(ImgInfo record);
// 组合查询
List<img info alt="So integrieren Sie das Mybatis-Framework in SpringBoot2" > selectByExample(ImgInfoExample example);
// 修改
int updateByPrimaryKeySelective(ImgInfo record);
// 删除
int deleteByPrimaryKey(Integer imgId);</imginfo>

7. Kontrollschicht-Testklasse

@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="So integrieren Sie das Mybatis-Framework in SpringBoot2" > 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>
#🎜 🎜#8. Testsequenz

@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="So integrieren Sie das Mybatis-Framework in SpringBoot2" > 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>

3. Integriertes Paging-Plugin

1. mybatis-Konfigurationsdatei

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

2. 🎜🎜 #
<?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>

3. Schnittstelle testen

@Override
public PageInfo<img info alt="So integrieren Sie das Mybatis-Framework in SpringBoot2" > queryPage(int page,int pageSize) {
    PageHelper.startPage(page,pageSize) ;
    ImgInfoExample example = new ImgInfoExample() ;
    // 查询条件
    example.createCriteria().andBEnableEqualTo("1").andShowStateEqualTo(1);
    // 排序条件
    example.setOrderByClause("create_date DESC,img_id ASC");
    List<img info alt="So integrieren Sie das Mybatis-Framework in SpringBoot2" > imgInfoList = imgInfoMapper.selectByExample(example) ;
    PageInfo<img info alt="So integrieren Sie das Mybatis-Framework in SpringBoot2" > pageInfo = new PageInfo(imgInfoList) ;
    return pageInfo ;
}</imginfo></imginfo></imginfo>

Das obige ist der detaillierte Inhalt vonSo integrieren Sie das Mybatis-Framework in SpringBoot2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen