Sloth is A tool to generate scaffold code from SQL databases. You just need to specify your application database may be used. If you know what the code generator does in Ruby on Rails (RoR), Sloth works just like that, and it’s specific to JAVA language now. Read this in other languages: 中文
- Generate Stand-Alone SpringBoot Applications
- Generate Model–View–Controller Code
- Generate API DOC
- Provide Many Kinds Of Data Access With JDBC
- DRY ( don't repeat yourself principle )
- Never copy and paste boilerplate between projects again
- __OTHERS
- Target project generated integrate Springboot、Guava、HikariCP、Apache Commons、fastjson、swagger2、Flywaydb
You’ll need just 2 things to develop with Sloth:
- JDK (Java Development Kit), version 1.7 and above
- Maven (Project Management Tool), version 3.1.1 and above
-
Prepare Your Database And Create Your Database Structure
host | port | username | password | dbname --------- | ---- |:--------:| -------- |:------: 127.0.0.1 | 3306 | root | 123456 | test
-
Clone Sloth
git clone https://github.com/coolcooldee/sloth.git
- Into The Sloth Root Directory
cd sloth
- Maven Install
mvn clean install
- Sloth Generating
mvn exec:java -Dexec.args="-path/workspaces/mySlothProject -packagecom.test -h127.0.0.1 -P3306 -uroot -p123456 -dtest -strategyssm" -Dexec.cleanupDaemonThreads=false -Dexec.mainClass="com.github.coolcooldee.sloth.Application"
generate args | e.g | description
:--------- | ---- | ----
-path |/workspaces/mySlothProject | the path where code generate
-package | com.test | Tell Sloth to use the package name
-strategy | ssm | generattion strategy:<br/>ssd=SpringMVC+Spring+SpringData<br/>ssm=SpringMVC+Spring+MyBatis<br/>sss=SpringMVC+Spring+SpringJDBC<br/>ssj=SpringMVC+Spring+JOOQ
-h | 127.0.0.1 | database host
-P | 3306 | database port
-u | root | database username
-p | 123456 | database password
-d | test | database name
- Into Sloth Target Project Generated
cd /workspaces/mySlothProject
- Runngin Sloth Target Project
mvn clean install
mvn exec:java -Dexec.mainClass=”com.test.Application” -Dexec.cleanupDaemonThreads=false
-
Database Tables Source
TableName | --------- | game | gameRole | gameServer |
-
Target Project Code
├── deploy.sh
├── mvn.sh
├── pom.xml
├── src
│ ├── main
│ │ ├── assembly
│ │ │ ├── assembly.xml
│ │ ├── java
│ │ │ ├── com
│ │ │ │ ├── sloth
│ │ │ │ │ ├── aop
│ │ │ │ │ │ ├── LogAspect.java
│ │ │ │ │ ├── Application.java
│ │ │ │ │ ├── common
│ │ │ │ │ │ ├── Page.java
│ │ │ │ │ ├── config
│ │ │ │ │ │ ├── database
│ │ │ │ │ │ │ ├── DB.java
│ │ │ │ │ │ │ ├── DBConfig.java
│ │ │ │ │ │ ├── redis
│ │ │ │ │ │ │ ├── RedisConfig.java
│ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── restfulapi
│ │ │ │ │ │ │ ├── GameController.java
│ │ │ │ │ │ │ ├── GameRoleController.java
│ │ │ │ │ │ │ ├── GameServerController.java
│ │ │ │ │ ├── mapper
│ │ │ │ │ │ ├── GameMapper.java
│ │ │ │ │ │ ├── GameRoleMapper.java
│ │ │ │ │ │ ├── GameServerMapper.java
│ │ │ │ │ ├── model
│ │ │ │ │ │ ├── Game.java
│ │ │ │ │ │ ├── GameRole.java
│ │ │ │ │ │ ├── GameServer.java
│ │ │ │ │ ├── service
│ │ │ │ │ │ ├── GameRoleService.java
│ │ │ │ │ │ ├── GameServerService.java
│ │ │ │ │ │ ├── GameService.java
│ │ │ │ │ │ ├── impl
│ │ │ │ │ │ │ ├── GameRoleServiceImpl.java
│ │ │ │ │ │ │ ├── GameServerServiceImpl.java
│ │ │ │ │ │ │ ├── GameServiceImpl.java
│ │ ├── resources
│ │ │ ├── application.properties
│ │ │ ├── static
│ │ │ │ ├── apis-docs-by-sloth.html
│ │ │ │ ├── css
│ │ │ │ ├── fonts
│ │ │ │ ├── html
│ │ │ │ ├── js
│ │ │ ├── template
├── start.sh
├── stop.sh
- Target Project Api Webpage
If you want to contribute code, we are waiting for your pull requests !
- Dee Qiu [email protected]
- QQ Group 570997546
Sloth is licensed under the Apache License, Version 2.0 (the "License");