ホームページ > Java > &#&チュートリアル > SpringBoot2 に Mybatis フレームワークを統合する方法

SpringBoot2 に Mybatis フレームワークを統合する方法

WBOY
リリース: 2023-05-19 18:25:06
転載
1360 人が閲覧しました

1. Mybatis フレームワーク

1. mybatis の概要

MyBatis は、カスタマイズされた SQL、ストアド プロシージャ、高度なマッピングをサポートする優れた永続層フレームワークです。 MyBatis は、ほとんどすべての JDBC コード、パラメータの手動設定、結果セットの取得を回避します。 MyBatis は、単純な XML または注釈を使用して、ネイティブ型、インターフェイス、および Java POJO (Plain Old Java Object、プレーン オールド Java オブジェクト) を構成し、データベース内のレコードにマッピングできます。

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>
ログイン後にコピー

6. インターフェイス実装を作成します

@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>
ログイン後にコピー

7. 制御層テスト クラス

@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>
ログイン後にコピー

8. テスト シーケンス

http://localhost:8010/insert
http://localhost:8010/selectByExample
http://localhost:8010/updateByPrimaryKeySelective
http://localhost:8010/deleteByPrimaryKey
ログイン後にコピー

3. 統合ページング プラグイン

1、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、ページング実装コード

@Override
public PageInfo<img info alt="SpringBoot2 に Mybatis フレームワークを統合する方法" > 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="SpringBoot2 に Mybatis フレームワークを統合する方法" > imgInfoList = imgInfoMapper.selectByExample(example) ;
    PageInfo<img info alt="SpringBoot2 に Mybatis フレームワークを統合する方法" > pageInfo = new PageInfo(imgInfoList) ;
    return pageInfo ;
}</imginfo></imginfo></imginfo>
ログイン後にコピー

3、テスト インターフェイス

http://localhost:8010/queryPage
ログイン後にコピー

以上がSpringBoot2 に Mybatis フレームワークを統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート