# shardingsphere-example **Repository Path**: wangheng1992/shardingsphere-example ## Basic Information - **Project Name**: shardingsphere-example - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-23 - **Last Updated**: 2023-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **Note: The examples had been transferred to [shardingsphere/examples](https://github.com/apache/shardingsphere/tree/master/examples). All tags reserved, but will never be updated any more.** # ShardingSphere-example Example for 1.x please see tags in `https://github.com/apache/incubator-shardingsphere/tree/${tag}/sharding-jdbc-example` Example for 2.x or 3.x or 4.x please see tags in `https://github.com/apache/incubator-shardingsphere-example/tree/${tag}` **Need attention** - *Please do not use `dev` branch to run your example, example of `dev` branch is not released yet.* - *The manual schema initial script is in `https://github.com/apache/incubator-shardingsphere-example/blob/dev/src/resources/manual_schema.sql`, please execute it before you first run the example.* - *Please make sure master-slave data sync on MySQL is running correctly. Otherwise this example will query empty data from slave.* ## Before start the example if you want use `dev` branch Please make sure some dependencies from [shardingsphere](https://github.com/apache/incubator-shardingsphere) and [shardingsphere-spi-impl](https://github.com/OpenSharding/shardingsphere-spi-impl) have been installed since some examples depend on that. if you are a newbie for shardingsphere, you could prepare the dependencies as following: 1.download and install [shardingsphere](https://github.com/apache/incubator-shardingsphere): ```bash ## download the code of shardingsphere git clone https://github.com/apache/incubator-shardingsphere.git ## checkout a specific version, example is 4.0.0-RC1 cd incubator-shardingsphere && git checkout 4.0.0-RC1 ## install the dependencies mvn clean install -Prelease ``` 2.download and install [shardingsphere-spi-impl](https://github.com/OpenSharding/shardingsphere-spi-impl): ```bash ## download the code of shardingsphere-spi-impl git clone https://github.com/OpenSharding/shardingsphere-spi-impl.git ## checkout a specific version, example is 4.0.0-RC1 cd shardingsphere-spi-impl && git checkout 4.0.0-RC1 ## install the dependencies mvn clean install ``` ## shardingsphere-example module design ### project structure ``` shardingsphere-example ├── example-core │   ├── config-utility │   ├── example-api │   ├── example-raw-jdbc │   ├── example-spring-jpa │   └── example-spring-mybatis ├── sharding-jdbc-example │   ├── sharding-example │   │   ├── sharding-raw-jdbc-example │   │   ├── sharding-spring-boot-jpa-example │   │   ├── sharding-spring-boot-mybatis-example │   │   ├── sharding-spring-namespace-jpa-example │   │   └── sharding-spring-namespace-mybatis-example │   ├── orchestration-example │   │   ├── orchestration-raw-jdbc-example │   │   ├── orchestration-spring-boot-example │   │   └── orchestration-spring-namespace-example │   ├── transaction-example │   │   ├── transaction-2pc-xa-example │   │   └──transaction-base-seata-example │   ├── other-feature-example │   │   ├── hint-example │   │   └── encrypt-example ├── sharding-proxy-example │   └── sharding-proxy-boot-mybatis-example └── src/resources   └── manual_schema.sql ``` ### Best practice for sharding data * sharding databases * sharding tables * sharding databases and tables * master-slave * sharding & master-slave You can get more detail from **[sharding-example](./sharding-jdbc-example/sharding-example)** ### Best practice for sharding + orchestration * using local configuration file for zookeeper/etcd & sharding * using register center(zookeeper/etcd)'s configuration for sharding You can get more detail from **[orchestration-example](./sharding-jdbc-example/orchestration-example)** ### Best Practice for sharding + distribution-transaction * 2pc-xa transaction * base-seata transaction You can get more detail from **[transaction-example](./sharding-jdbc-example/transaction-example)** ### Best Practice for hint routing You can get more detail from **[hint-example](./sharding-jdbc-example/other-feature-example/hint-example)** ### Best Practice for data encrypt You can get more detail from **[encrypt-example](./sharding-jdbc-example/other-feature-example/encrypt-example)** ### Best Practice for APM We will add APM example recently. ### Best Practice for sharding-proxy. We prefer to add a docker base example recently. ### [how to use docker to config sharding-jdbc & sharding-proxy](./docker/docker-compose.md) (Optional)