mybatis-pro


License

License

Categories

Categories

MyBatis Data ORM
GroupId

GroupId

com.github.dreamroute
ArtifactId

ArtifactId

mybatis-pro
Last Version

Last Version

1.1.8
Release Date

Release Date

Type

Type

pom
Description

Description

mybatis-pro
mybatis-pro
Project URL

Project URL

https://github.com/Dreamroute/mybatis-pro
Source Code Management

Source Code Management

https://github.com/Dreamroute/mybatis-pro

Download mybatis-pro

Filename Size
mybatis-pro-1.1.8.pom 6 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.dreamroute/mybatis-pro/ -->
<dependency>
    <groupId>com.github.dreamroute</groupId>
    <artifactId>mybatis-pro</artifactId>
    <version>1.1.8</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.dreamroute/mybatis-pro/
implementation 'com.github.dreamroute:mybatis-pro:1.1.8'
// https://jarcasting.com/artifacts/com.github.dreamroute/mybatis-pro/
implementation ("com.github.dreamroute:mybatis-pro:1.1.8")
'com.github.dreamroute:mybatis-pro:pom:1.1.8'
<dependency org="com.github.dreamroute" name="mybatis-pro" rev="1.1.8">
  <artifact name="mybatis-pro" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.github.dreamroute', module='mybatis-pro', version='1.1.8')
)
libraryDependencies += "com.github.dreamroute" % "mybatis-pro" % "1.1.8"
[com.github.dreamroute/mybatis-pro "1.1.8"]

Dependencies

compile (8)

Group / Artifact Type Version
org.mybatis.spring.boot : mybatis-spring-boot-starter jar 2.1.3
org.springframework.boot : spring-boot-configuration-processor Optional jar 2.3.2.RELEASE
org.springframework.boot : spring-boot-autoconfigure jar 2.3.2.RELEASE
mysql : mysql-connector-java jar 8.0.21
org.projectlombok : lombok jar 1.18.12
com.alibaba : fastjson jar 1.2.75
cn.hutool : hutool-all jar 5.4.2
com.google.guava : guava jar 30.0-jre

Project Modules

There are no modules declared in this project.

mybatis-pro

地址

文档

开发此框架的初衷

  • 让单表查询更加优雅
  • 基本告别单表SQL语句
  • 拥有JPA的单表查询优势
  • 万千钢铁直男的终极选择

框架的功能

  • 包含单表增删改查方法
  • 根据Mapper方法名自动生成SQL,无需编写sql语句
  • 与通用Mapper、MyBatis-Plus等三方框架兼容(虽然有了mybatis-pro之后并不需要整合这俩)
  • 内置枚举类型处理器
  • 内置泛型Service,简化重复造轮子
  • 内置逻辑删除,可放心大胆的在生产环境进行delete操作
  • 【可选】分页插件 支持单表、多表关联查询
  • 【可选】sql打印插件 已经用实际参数替换了"?"占位符,可从控制台复制出来直接执行
  • 【可选】乐观锁插件

设计原则

框架本身依赖mybatis-spring,仅在应用启动时织入框架逻辑,不破坏任何mybatis核心,原则上可以兼容任何mybatis版本

版本要求

  • JDK 1.8+

使用方式

  • SpringBoot
    <dependency>
        <groupId>com.github.dreamroute</groupId>
        <artifactId>mybatis-pro-boot-starter</artifactId>
        <version>latest version</version>
    </dependency>

最新版本:点击查看

  • Spring MVC
    

功能展示

  • 单表条件查询
public interface UserMapper {

    // 这是一个根据用户名、密码查询单个用户的查询,方法名只需要以findBy打头
    User findByNameAndPassword(String name, String password);

}

你无需在xml文件中编写sql,也无需使用注解@Select("xxx")的sql,框架自动根据方法名:

findByNameAndPassword切割成findBy,NameAndPassword,组成如下sql:

select * from user where name = #{name} and password = #{password}

对比(mybatis-plus、通用mapper)

需求:查询version在2~4之间,并且根据id反向排序

  • mybatis-pro:
@Test
void proTest() {
    List<User> users = findByVersionBetweenOrderByIdDesc(2L, 4L);
}
  • mybatis-plus:
@Test
void plusTest() {
    LambdaQueryWrapper<User> qw = new LambdaQueryWrapper<>();
    LambdaQueryWrapper<User> query = qw.between(User::getVersion, 2L, 4L);
    query.orderByDesc(User::getId);
    List<User> users = userMapper.selectList(query);
}
  • 通用mapper
@Test
void mapperTest() {
    Example e = new Example(User.class);
    e.orderBy("id").desc();
    Criteria criteria = e.createCriteria().andBetween("version", 2L, 4L);
    List<User> users = userMapper.selectByExample(e);
}

全部文档

作者信息

Email: [email protected]

Versions

Version
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0