Rumah >Java >javaTutorial >Bagaimana untuk mengintegrasikan rangka kerja Mybatis dalam SpringBoot2

Bagaimana untuk mengintegrasikan rangka kerja Mybatis dalam SpringBoot2

WBOY
WBOYke hadapan
2023-05-19 18:25:061338semak imbas

1. Rangka kerja Mybatis

1 Pengenalan kepada mybatis

MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik yang menyokong SQL tersuai, prosedur tersimpan dan pemetaan lanjutan. MyBatis mengelakkan hampir semua kod JDBC dan tetapan manual parameter dan mendapatkan semula set hasil. MyBatis boleh menggunakan XML atau anotasi mudah untuk mengkonfigurasi dan memetakan jenis asli, antara muka dan POJO Java (Objek Java Lama Biasa, objek Java lama biasa) ke dalam rekod dalam pangkalan data.

2. Ciri Mybatis

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

3.

MyBatis akan menjadi pilihan yang baik untuk projek yang mempunyai keperluan prestasi tinggi atau mempunyai keperluan yang berubah-ubah.


2. Integrasi dengan SpringBoot2

1. Carta struktur projek

Bagaimana untuk mengintegrasikan rangka kerja Mybatis dalam SpringBoot2Menggunakan kumpulan sambungan druid, iaitu kumpulan sambungan.

2. Kebergantungan teras

<!-- 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. Konfigurasi teras

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

4. Saya tidak akan menghantar kod di sini.

5. Tulis antara muka ujian asas

// 增加
int insert(ImgInfo record);
// 组合查询
List<img info alt="Bagaimana untuk mengintegrasikan rangka kerja Mybatis dalam SpringBoot2" > selectByExample(ImgInfoExample example);
// 修改
int updateByPrimaryKeySelective(ImgInfo record);
// 删除
int deleteByPrimaryKey(Integer imgId);</imginfo>

6. Menulis pelaksanaan antara mukaBagaimana untuk mengintegrasikan rangka kerja Mybatis dalam SpringBoot2

@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="Bagaimana untuk mengintegrasikan rangka kerja Mybatis dalam 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>
7 Kelas ujian lapisan

@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="Bagaimana untuk mengintegrasikan rangka kerja Mybatis dalam 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>
8 >
http://localhost:8010/insert
http://localhost:8010/selectByExample
http://localhost:8010/updateByPrimaryKeySelective
http://localhost:8010/deleteByPrimaryKey

3. Pemalam paging bersepadu

1. Fail konfigurasi Mybatis

<?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>

2

Atas ialah kandungan terperinci Bagaimana untuk mengintegrasikan rangka kerja Mybatis dalam SpringBoot2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam