当前位置:   article > 正文

SpringBoot集成ShardingSphere(自动配置)_shardingsphere 自动配置类是哪个

shardingsphere 自动配置类是哪个

接上一篇,介绍下SpringBoot集成ShardingSphere,基于sharding-jdbc-spring-boot-starter依赖编写配置文件实现自动配置的集成方法,这种方法的优点是简单,缺点是不够灵活。

  • 新建项目并导入依赖
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-parent</artifactId>
  8. <version>2.1.6.RELEASE</version>
  9. <relativePath/>
  10. </parent>
  11. <groupId>com.hyc</groupId>
  12. <artifactId>shard3-auto</artifactId>
  13. <version>0.0.1-SNAPSHOT</version>
  14. <name>shard3-auto</name>
  15. <description>springboot集成shardingshpere3自动配置</description>
  16. <properties>
  17. <java.version>1.8</java.version>
  18. </properties>
  19. <dependencies>
  20. <dependency>
  21. <groupId>org.springframework.boot</groupId>
  22. <artifactId>spring-boot-starter-actuator</artifactId>
  23. </dependency>
  24. <dependency>
  25. <groupId>org.springframework.boot</groupId>
  26. <artifactId>spring-boot-starter-web</artifactId>
  27. </dependency>
  28. <dependency>
  29. <groupId>org.mybatis.spring.boot</groupId>
  30. <artifactId>mybatis-spring-boot-starter</artifactId>
  31. <version>2.0.1</version>
  32. </dependency>
  33. <dependency>
  34. <groupId>org.springframework.boot</groupId>
  35. <artifactId>spring-boot-devtools</artifactId>
  36. <scope>runtime</scope>
  37. <optional>true</optional>
  38. </dependency>
  39. <dependency>
  40. <groupId>mysql</groupId>
  41. <artifactId>mysql-connector-java</artifactId>
  42. <scope>runtime</scope>
  43. </dependency>
  44. <dependency>
  45. <groupId>org.springframework.boot</groupId>
  46. <artifactId>spring-boot-configuration-processor</artifactId>
  47. <optional>true</optional>
  48. </dependency>
  49. <dependency>
  50. <groupId>org.projectlombok</groupId>
  51. <artifactId>lombok</artifactId>
  52. <optional>true</optional>
  53. </dependency>
  54. <dependency>
  55. <groupId>org.springframework.boot</groupId>
  56. <artifactId>spring-boot-starter-test</artifactId>
  57. <scope>test</scope>
  58. </dependency>
  59. <!-- shardingsphere start -->
  60. <dependency>
  61. <groupId>io.shardingsphere</groupId>
  62. <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
  63. <version>3.1.0</version>
  64. </dependency>
  65. <!-- shardingsphere end -->
  66. <dependency>
  67. <groupId>org.apache.commons</groupId>
  68. <artifactId>commons-lang3</artifactId>
  69. <version>3.9</version>
  70. </dependency>
  71. <dependency>
  72. <groupId>cn.hutool</groupId>
  73. <artifactId>hutool-all</artifactId>
  74. <version>4.5.13</version>
  75. </dependency>
  76. <dependency>
  77. <groupId>com.alibaba</groupId>
  78. <artifactId>fastjson</artifactId>
  79. <version>1.2.58</version>
  80. </dependency>
  81. <dependency>
  82. <groupId>com.alibaba</groupId>
  83. <artifactId>druid</artifactId>
  84. <version>1.1.17</version>
  85. </dependency>
  86. </dependencies>
  87. <build>
  88. <plugins>
  89. <plugin>
  90. <groupId>org.springframework.boot</groupId>
  91. <artifactId>spring-boot-maven-plugin</artifactId>
  92. </plugin>
  93. </plugins>
  94. </build>
  95. </project>
  1. sharding.jdbc.datasource.names=ds0,ds1
  2. sharding.jdbc.datasource.ds0.type=com.alibaba.druid.pool.DruidDataSource
  3. sharding.jdbc.datasource.ds0.url=jdbc:mysql://127.0.0.1:3306/test1?serverTimezone=GMT%2B8&useSSL=false
  4. sharding.jdbc.datasource.ds0.username=root
  5. sharding.jdbc.datasource.ds0.password=123456
  6. sharding.jdbc.datasource.ds1.type=com.alibaba.druid.pool.DruidDataSource
  7. sharding.jdbc.datasource.ds1.url=jdbc:mysql://127.0.0.1:3306/test2?serverTimezone=GMT%2B8&useSSL=false
  8. sharding.jdbc.datasource.ds1.username=root
  9. sharding.jdbc.datasource.ds1.password=123456
  10. sharding.jdbc.config.sharding.tables.t_user.actual-data-nodes=ds$->{0..1}.t_user_$->{0..1}
  11. sharding.jdbc.config.sharding.tables.t_user.table-strategy.inline.sharding-column=gender
  12. sharding.jdbc.config.sharding.tables.t_user.table-strategy.inline.algorithm-expression=t_user_$->{gender == 1 ? 0 : 1}
  13. sharding.jdbc.config.sharding.tables.t_user.key-generator-column-name=user_id
  14. sharding.jdbc.config.sharding.tables.t_user.key-generator-class-name=com.hyc.keygen.SnowflakeShardingKeyGenerator
  15. sharding.jdbc.config.sharding.tables.t_user_address.actual-data-nodes=ds$->{0..1}.t_user_address_$->{0..1}
  16. sharding.jdbc.config.sharding.tables.t_user_address.table-strategy.inline.sharding-column=gender
  17. sharding.jdbc.config.sharding.tables.t_user_address.table-strategy.inline.algorithm-expression=t_user_address_$->{gender == 1 ? 0 : 1}
  18. sharding.jdbc.config.sharding.tables.t_user_address.key-generator-column-name=address_id
  19. sharding.jdbc.config.sharding.tables.t_user_address.key-generator-class-name=com.hyc.keygen.SnowflakeShardingKeyGenerator
  20. sharding.jdbc.config.sharding.tables.t_order.actual-data-nodes=ds$->{0..1}.t_order_$->{0..1}
  21. sharding.jdbc.config.sharding.tables.t_order.table-strategy.inline.sharding-column=order_id
  22. sharding.jdbc.config.sharding.tables.t_order.table-strategy.inline.algorithm-expression=t_order_$->{order_id % 2}
  23. sharding.jdbc.config.sharding.tables.t_order.key-generator-column-name=order_id
  24. sharding.jdbc.config.sharding.tables.t_order.key-generator-class-name=com.hyc.keygen.SnowflakeShardingKeyGenerator
  25. sharding.jdbc.config.sharding.tables.t_order_item.actual-data-nodes=ds$->{0..1}.t_order_item_$->{0..1}
  26. sharding.jdbc.config.sharding.tables.t_order_item.table-strategy.inline.sharding-column=order_id
  27. sharding.jdbc.config.sharding.tables.t_order_item.table-strategy.inline.algorithm-expression=t_order_item_$->{order_id % 2}
  28. sharding.jdbc.config.sharding.tables.t_order_item.key-generator-column-name=order_item_id
  29. sharding.jdbc.config.sharding.tables.t_order_item.key-generator-class-name=com.hyc.keygen.SnowflakeShardingKeyGenerator
  30. sharding.jdbc.config.sharding.binding-tables[0]=t_user,t_user_address
  31. sharding.jdbc.config.sharding.binding-tables[1]=t_order,t_order_item
  32. sharding.jdbc.config.sharding.broadcast-tables=t_product
  33. sharding.jdbc.config.sharding.default-database-strategy.standard.sharding-column=user_id
  34. sharding.jdbc.config.sharding.default-database-strategy.standard.precise-algorithm-class-name=com.hyc.dbstrategy.IdShardingAlgorithm
  35. sharding.jdbc.config.props.sql.show=true
  36. snow.work.id=1
  37. snow.datacenter.id=2
  38. #sql日志
  39. logging.level.com.hyc.dao=debug
  40. #actuator端口
  41. management.server.port=9001
  42. #开放所有页面节点 默认只开启了health、info两个节点
  43. management.endpoints.web.exposure.include=*
  44. #显示健康具体信息 默认不会显示详细信息
  45. management.endpoint.health.show-details=always
  46. mybatis.configuration.map-underscore-to-camel-case=true
  47. mybatis.type-aliases-package=com.hyc.entity
  48. mybatis.mapper-locations=classpath:mappers/*.xml

以上就配置完成了,测试结果和上一篇一样

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/210953
推荐阅读
相关标签