A convenient tool that transforms SQL operations into RESTful APIs
DataPoly is an open-source SQL/DSL data access middleware: pick a data source, configure SQL or scripts, and set a path to create RESTful APIs — no backend code required. It supports 20+ databases including mainstream Chinese domestic ones, with MyBatis dynamic SQL, Groovy scripting, token authentication, Sentinel flow control, Hazelcast/Redis caching, online API docs, and LLM MCP services.
sh ./build.sh
sh ./docker-maven-build.sh
cd build-docker/install
docker compose up -d
open http://127.0.0.1:8091/#/login then enter user admin and password DataPoly@123456.
Prerequisites for building DataPoly:
- Unix-like environment (we use Linux, Mac OS X; Windows users can run
build.cmddirectly) - Git
- Maven (we require version 3.6 or above)
- Java (version 25, LTS)
- Docker (only used to build the management UI — no local Node.js required)
First, clone the repository:
git clone https://github.com/camilesing/datapoly.git
cd datapoly
Then, choose one of the following commands based on your environment:
For Linux / Mac OS X (Standard Release)
sh ./build.sh
# if you want debug something
sh ./build.sh debug
For a Containerized Maven Build (Docker)
sh ./docker-maven-build.sh
For Windows
build.cmd
The build process may take several minutes, and the first build downloads all Maven dependencies.
When it completes, the release package is generated at target/datapoly-release-<version>.tar.gz.
- Make sure your
JAVA_HOMEenvironment variable points to a JDK 25 installation — the build produces Java 25 bytecode build.sh(anddocker-maven-build.sh) first assemble optional local extensions (build-extension.sh, a no-op unless thedatapoly-extension/directory exists) and build the management UI inside anode:24-alpinecontainer (build-ui.sh), then runmvn clean package -DskipTests- A bare
mvn packagedoes not build the UI — the resulting jar contains no management UI - Passing
debugtobuild.sh/docker-maven-build.shproduces a devtools-enabled debug UI build, for local development only - To run the full test suite (the same command CI uses):
mvn test -pl datapoly-test -am— all tests are centralized in thedatapoly-testmodule
We recommend IntelliJ IDEA for developing the DataPoly codebase.
Minimal requirements for an IDE are:
- Support for Java 25 and Lombok annotation processing
- Support for Maven
The IntelliJ IDE supports Maven out of the box; make sure the Lombok plugin is enabled and annotation processing is turned on.
- IntelliJ download: https://www.jetbrains.com/idea/
Check out our CONTRIBUTING.md guide and the Build & Deployment documentation for detailed instructions.
- Overview: features, supported databases, module structure
- Build & Deployment: requirements, build, deployment, startup and access
- Usage: guided workflows (in preparation)
- Async Data Tasks (DataTask) guide: end-to-end walkthrough, sink extension authoring, worker configuration and troubleshooting
- One-click install (docker-compose)
- 中文文档
- Contributions welcome: see CONTRIBUTING.md; please report bugs in issues.
- Before production deployment, read SECURITY.md. Licensed under BSD 3-Clause; third-party notices in NOTICE.