[予約] IBIT-MyBatisのはじめに

オリジナルリンク:IBIT-紹介MyBatisの

アウトライン

   IBIT-MyBatisのはMyBatisの強化ツールである、開発効率を向上させ、開発プロセスを簡素化を目的としたMyBatisのに基づき、新機能や機能を追加します。

プロパティ

  • 非侵襲的、導入された「IBIT-MyBatisのは、」既存のプロジェクトには影響を与えません。
  • ダオ、マッパー、一般的に使用される単一テーブルのサポートCRUD操作、そしてより強力なSQLビルダー(組み込み柔軟なCRUD(検索、削除、変更を加える)の操作、SQL-Builderを、より複雑な操作(例えば、集計機能を満たすために)、パケット、でも表)。
  • 内蔵符号発生器(IBIT-MyBatisの発電機)、データベース・テーブルを指定し、自動生成ダオ、マッパー、エンティティ、プロパティ、および他の基本的なタイプ、または複製を低減するためにコーディング類似。
  • 延長サポート、ページング、データ脱感作
  • 主流のマイクロサービスフレームワークspringboot(IBIT-MyBatisの-springboot-スターター)サポート

全体のフレームワークマップ

説明SQLビルダー

sql-builderCRUD操作を実現するために、単一のテーブルに対して定義された動的SQLの生成規則。

ブロック図

動的SQLの作成規則

いいえ。 方法 説明
1 SELECT
selectPo(オブジェクト)
DISTINCT SELECT
selectDistinctPoを(オブジェクト)
select [distinct]声明
2 カウント
COUNTDISTINCTを
select count [distinct]声明
3 deleteFrom
deleteTableFrom(别名)
delete from声明
4 更新 update声明
5 INSERTINTO
batchInsertInto(バッチ)
insert into声明
6 set
increaseSet(列自增)
decreaseSet(列自减)
set语句
7 values values语句
8 from from语句
9 joinOn
leftJoinOn
rightJoinOn
fullJoinOn
innerJoinOn
complexLeftJoinOn
complexRightJoinOn
complexFullJoinOn
complexInnerJoinOn
[left|right|full|inner] join on语句
10 where
andWhere
orWhere
where语句
11 groupBy group by语句
12 having
andHaving
orHaving
having语句
13 orderBy order by语句
14 limit limit语句

更加详细用法参考sql-builder

核心代码说明

ibit-mybatis重新定义了业务分层模型,将原有的Dao层下放到Mapper(数据访问层),增加新的Dao层(构造层)。

分层模型

定义Mapper

Mapper为数据访问层,默认基于注解实现了insert(增加),update(更新/删除),select(查询),count(计数)和实体映射到xml的ResultMap。接收参数为sql-builder生成的SqlParams参数。Mapper对于原生的基于xml、注解的数据访问方式是兼容的。

定义Dao

Dao为构造层,可以通过sql-builder构造sql,调用Mapper获取结果。定义通用的Dao模板,默认支持跟主键相关的CRUD操作。

Dao模板设计,按照主键个数分类,分成3类,无主键、单个主键、多个主键。

  • NoIdDao:无主键Dao,只支持插入操作。
  • SingleIdDao:单个主键Dao,支持插入,通过主键查询、更新删除操作。
  • MultipleIdDao:多个主键Dao,支持插入,通过主键查询、更新删除操作。

用法

相关引用

Gradle

compile 'tech.ibit:ibit-mybatis:${lastest}'

Maven

<dependency>
  <groupId>tech.ibit</groupId>
  <artifactId>ibit-mybatis</artifactId>
  <version>${latest}</version>
</dependency>

说明: 将 "${latest}" 替换成对应的版本

其他说明

如果需要需要在Mapper中动态指定"resultMap",则需要增加拦截器tech.ibit.mybatis.plugin.ResultMapInterceptor

@Bean
public ResultMapInterceptor getResultMapInterceptor() {
    return new ResultMapInterceptor();
}

おすすめ

転載: www.cnblogs.com/javaDeveloper/p/12051959.html