• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

myfat: MyFat是MyBatis的DAO功能增强插件

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

myfat

开源软件地址:

https://gitee.com/drinkjava2/myfat

开源软件介绍:

myfat-logo

MyFat让MyBatis更胖

maven code style

简介 | Intro

MyFat是MyBatis的DAO功能增强插件,利用全功能持久层工具jSqlBox来补足MyBatis的短板。

优点 | Advantages

  1. 无侵入性,对于使用MyBatis的项目唯一要做的只是添加MyFat依赖即可,不用更改任何其它配置文件和代码。
  2. 功能全,补足了MyBatis不提供CRUD的短板,以下为增强后的功能:
    跨数据库分页、DDl生成、实体源码生成、函数变换、主键生成、多种SQL写法、DataMapper、ActiveRecord、Tail、实体越级关联查询、主从、分库分表、分布式事务等。
  3. 架构更合理,它不是基于MyBatis内核开发,而是整合了jSqlBox的功能,项目本身是模块式开发,可维护性好。

与其它Mybatis插件如Mapper或MyBatis-Plus的区别

  1. 源码少,MyFat本身不提供DAO功能,源码只有7个类,起到粘合剂的作用,jar包大小25k。
  2. 由jSqlBox提供的ActiveRecord可以只声明接口(Java8),不一定需要继承类,也不需要定义Mapper,更无侵入性。
  3. 它没有专门的分页方法,但是所有SQL查询都可以分页,无侵入性。
  4. 支持的SQL写法更多,如参数内嵌式SQL写法、实体越级关联查询等,实体类更符合JPA注解。

文档 | Documentation

中文 | English | JavaDoc

配置 | Configuration

在pom.xml中加入以下内容即可,注意MyFat必须先于MyBatis加载:

<dependency>   <groupId>com.github.drinkjava2</groupId>   <artifactId>myfat</artifactId>   <version>3.0.0</version> <!--或最新版--></dependency> <dependency>    <groupId>org.mybatis</groupId>    <artifactId>mybatis</artifactId>    <version>3.5.2</version> <!--或最新版--> </dependency> 

如果在Spring环境下,则上面的第二项要改成Spring的包,如:

  <dependency>      <groupId>org.mybatis.spring.boot</groupId>      <artifactId>mybatis-spring-boot-starter</artifactId>	  <version>2.1.0</version> <!--或最新版-->   </dependency>

入门 | First Example

以下示例演示了myfat的基本配置和使用:

public class HelloWorld implements ActiveEntity<HelloWorld> {    private String name;    public String getName() {return name; }    public void setName(String name) {this.name = name; }    public static void main(String[] args) {        DataSource ds = JdbcConnectionPool                .create("jdbc:h2:mem:DBName;MODE=MYSQL;DB_CLOSE_DELAY=-1;TRACE_LEVEL_SYSTEM_OUT=0", "sa", "");        SqlBoxContext ctx = new SqlBoxContext(ds);        SqlBoxContext.setGlobalSqlBoxContext(ctx);        String[] ddls = ctx.toCreateDDL(HelloWorld.class);        for (String ddl : ddls)               ctx.nExecute(ddl);        new HelloWorld().putField("name", "Hello myfat").insert();        System.out.println(ctx.iQueryForString("select name from HelloWorld"));    }}

范例 | Demo

  • myfat-springboot 演示myfat在SpringBoot环境下的配置和使用。
  • myfat-springboot-mp 演示在SpringBoot环境下myfat对MyBatis-plus的功能增强。
  • myfat-java8-demo 主要演示myfat的两个特点:实体类也可以只声明接口、利用Lambda来写SQL。

作者其它开源项目 | Other Projects

期望 | Futures

欢迎发issue提出更好的意见或提交PR,帮助完善myfat

版权 | License

Apache 2.0

关注我 | About Me

Github
码云


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap