com.github.fangjinuo.sqlhelper:sqlhelper-ormlite

JDBC Extensions: Supports SQL Tools (ORM, Dialect, Pagination, UrlParser, SqlStatementParser, WallFilter, BatchExecutor for Test) based Java

License

License

Categories

Categories

ORM Data
GroupId

GroupId

com.github.fangjinuo.sqlhelper
ArtifactId

ArtifactId

sqlhelper-ormlite
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

JDBC Extensions: Supports SQL Tools (ORM, Dialect, Pagination, UrlParser, SqlStatementParser, WallFilter, BatchExecutor for Test) based Java

Download sqlhelper-ormlite

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.fangjinuo.sqlhelper/sqlhelper-ormlite/ -->
<dependency>
    <groupId>com.github.fangjinuo.sqlhelper</groupId>
    <artifactId>sqlhelper-ormlite</artifactId>
    <version>2.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.fangjinuo.sqlhelper/sqlhelper-ormlite/
implementation 'com.github.fangjinuo.sqlhelper:sqlhelper-ormlite:2.0.0'
// https://jarcasting.com/artifacts/com.github.fangjinuo.sqlhelper/sqlhelper-ormlite/
implementation ("com.github.fangjinuo.sqlhelper:sqlhelper-ormlite:2.0.0")
'com.github.fangjinuo.sqlhelper:sqlhelper-ormlite:jar:2.0.0'
<dependency org="com.github.fangjinuo.sqlhelper" name="sqlhelper-ormlite" rev="2.0.0">
  <artifact name="sqlhelper-ormlite" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.fangjinuo.sqlhelper', module='sqlhelper-ormlite', version='2.0.0')
)
libraryDependencies += "com.github.fangjinuo.sqlhelper" % "sqlhelper-ormlite" % "2.0.0"
[com.github.fangjinuo.sqlhelper/sqlhelper-ormlite "2.0.0"]

Dependencies

compile (3)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.26
com.google.guava : guava jar 23.0
com.github.fangjinuo.easyjson : easyjson-core jar 2.0.alpha1.0

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

License

Build Status Codacy Badge

JDK

MyBatis MyBatis jFinal jFinal EBean Mango Commons-DBUtils Solon

Spring-Jdbc Spring-Jdbc Spring-Jdbc Spring-Jdbc

SpringBoot SpringBoot

maven

GitHub地址

Gitee地址

教程

sqlhelper

SQL Tools ( Dialect, Pagination, DDL Dump, UrlParser, SqlStatementParser, WallFilter, BatchExecutor for Test) based Java

modules

module sqlhelper version JDK framework version Description
sqlhelper-dialect 1.0+ 1.6+ the core (绝大部分功能都离不开它)
sqlhelper-cli 2.0+ 1.8+ CLI 命令行工具
sqlhelper-cli-assembly 2.0+ 1.8+ 为 CLI 命令行工具 提供打包功能
sqlhelper-mybatis 1.0+ 1.6+ 提供对MyBatis的支持 (主要包括:通用分页、通用批量操作)
sqlhelper-mybatis-spring-boot 1.0+ 1.6+ 为MyBatis + SqlHelper 提供了Spring Boot 快速启动
sqlhelper-mybatis-over-pagehelper 1.0+ 1.6+ 引入它就可以无缝的从 mybatis-pagehelper 迁移到 SqlHelper
sqlhelper-jfinal 1.2+ 1.6+ 4.3+ 对国产框架jfinal支持 (主要包括:通用分页)
sqlhelper-ebean 1.2+ 1.6+ 对 ebean 支持(主要包括:通用分页)
sqlhelper-hibernate 1.2+ 1.6+ 对 hibernate 支持(主要包括:通用分页)
sqlhelper-mango 1.2+ 1.6+ 对 mango 支持 支持(主要包括:通用分页)
sqlhelper-batchinsert 1.2+ 1.6+ 为了 性能测试 提供的批量入库工具
sqlhelper-springjdbc 2.0.2+ 1.6+ spring 4.0+ 对 spring-jdbc 支持 (主要包括:通用分页)
sqlhelper-springjdbc-spring-booter 2.0.2+ 1.8+ 对 spring-jdbc 应用提供了 Spring Boot 快速启动
sqlhelper-mybatisplus-3 2.0.7+ 1.8+ mybatis-plus 3.2.0+ 对 mybatis-plus 支持
sqlhelper-mybatisplus-spring-boot-starter 2.0.7+ 1.8+ mybatis-plus 3.1.2+ 对 mybatis-plus 应用提供了 Spring Boot 快速启动
sqlhelper-mybatisplus-2 3.3.0+ 1.6+ mybatis-plus 3.2.0+ 对 mybatis-plus 支持
sqlhelper-mybatisplus_2x-spring-boot-starter 2.0.7+ 1.6+ mybatis-plus 3.1.2+ 对 mybatis-plus 应用提供了 Spring Boot 快速启动
sqlhelper-tkmapper-spring-boot-starterer 3.1.0+ 1.8+ 对 tk.mybatis Mapper 应用提供了 Spring Boot 快速启动
sqlhelper-dbutils 2.2.0 1.6+ 对 Apache Commons-DBUtils 支持 (主要包括:通用分页)
sqlhelper-jsqlparser 3.0.3 1.6+ 对于要基于SQL Parser接口来完成的功能 由jsqlparser 这个库来实现
sqlhelper-mybatis-solon-plugin 3.2.0 1.8+ 支持solon 框架
sqlhelper-examples 1.0+ 1.8+ 为这些工具提供 测试用例

tools usage

关键特性

  1. 支持 MyBatis, MyBatis-Plus, SpringJdbc, Apache Commons-DBUtils, JFinal, EBean, Mango, Hibernate 等众多对数据库操作的框架
  2. 支持 110+ 数据库(所有功能均支持,不限于分页功能), 支持的数据库列表参考: here. 如果你想了解这些数据库的排名,可以参考这里:DB Engines.下面是所有支持的国产数据库:
  • AliSQL (阿里 MySQL)
  • AntDB (亚信)
  • CirroDB (东方国信 行云)
  • CynosDB (腾讯云数据库)
  • Doris (Apache Doris,百度研发)
  • DM (达梦)
  • EsgynDB (易鲸捷)
  • GaussDB (华为 高斯)
  • GBase (南大通用)
  • GoldenDB (中兴)
  • HHDB (恒辉数据库)
  • HighGo (瀚高)
  • HybridDB (阿里巴巴 分布式PostgreSQL)
  • K-DB (浪潮)
  • KingBase (金仓)
  • MaxCompute (阿里巴巴)
  • OBase (上海丛云信息科技)
  • OceanBase (阿里巴巴/蚂蚁金服 兼容mysql)
  • OSCAR (神州通用)
  • OpenBase (东软)
  • RadonDB (青云)
  • SequoiaDB (巨杉)
  • SinoDB (星瑞格)
  • TDSQL (腾讯 分布式MySQL)
  • TiDB (北京平凯星辰科技))
  • Trafodion (易鲸捷 EsgynDB的开源版)
  • UxDB (优炫数据库)
  1. 支持多个数据库在同一个应用中并存,且不需要做任何的区分,就能自动识别
  2. 支持自动获取数据库 dialect (方言),也可以指定
  3. 性能要比Mybatis-PageHelper更高, 因为SQL中的 limit、offset 会以占位符 '?'的形式存在,支持缓存等,总之PageHelper支持的这里都支持,PageHelper不支持的这里也支持。
  4. 对于 select count语句,会自动的排除掉 order by 子句,以提升查询效率
  5. 可以基于 Java SPI 规范来自定义Dialect,以此来扩展数据库
  6. 分页功能支持子查询:mybatis, mybatis-plus, spring-jdbc, apache commons-dbutils
  7. 支持 spring boot 1.x , 2.x
  8. 支持 JDK6+
  9. 支持 Memory Pagination
  10. 支持 SqlSymbolMapper, 可以使用它来自动映射数据库字段、表名等
  11. 支持 Dump DDL
  12. 支持 like parameter escape [%] : mybatis, mybatis-plus

sqlhelper vs mybatis-pagehelper

metric mybatis-pagehelper sqlhelper
databases 13 100+
multiple databases in runtime
auto detect dialect
plugin
PrepareStatement with '?' X
mybatis 3.x 3.x
spring boot 1.x, 2.x 1.x, 2.x
JDK 1.6+ 1.6+
jFinal X
Mango X
EBean X
国产数据库 X √ (参见上述列表)
Spring JDBC X 2.x,3.x,4.x,5.x
SqlSymbol Mapping X
MyBatis-Plus X
Apache Commons-DBUtils X
Subquery pagination X
solon X

分页工具使用说明

更多说明,参见教程:

1. https://fangjinuo.gitee.io/docs/index.html
2. https://fangjinuo.github.io

UrlParser

Parse jdbc url.

usage:

String url = "jdbc:mysql://${localhost}:${port}....";
DatabaseInfo dbinfo = new JdbcUrlParser().parse(url)
...

Batch Insert Tool

如果你想要进行业务SQL性能优化,又苦于数据库里没有太多数据,可以使用它来进行批量插入数据,大大的节省你造数据的时间。具体参加sqlhelper-batchinsert模块。

FAQ

这里提供了一些常见问题,对于刚使用SQLHelper时,可能对你很有帮助

Contact

QQ 交流群: 750929088
QQ Group

推广

  • langx 系列
    • langx-js:TypeScript, JavaScript tools
    • langx-java: Java tools ,可以替换guava, apache commons-lang,io, hu-tool等
  • easyjson: 一个通用的JSON库门面,可以无缝的在各个JSON库之间切换,就像slf4j那样。
  • sqlhelper: SQL工具套件(通用分页、DDL Dump、SQLParser、URL Parser、批量操作工具等)。
  • esmvc: ElasticSearch 通用客户端,就像MyBatis Mapper那样顺滑
  • redisclient: 基于Spring RestTemplate提供的客户端
  • audit:通用的Java应用审计框架

鸣谢

最后,感谢 Jetbrains 提供免费License,方便了开源项目的发展。

Jetbrains

Versions

Version
2.0.0
1.2.3
1.2.2