当前位置: 首页 > news >正文

杭州自助建站软件企业为什么建立企业网站

杭州自助建站软件,企业为什么建立企业网站,wordpress页眉导航栏位置,网站做的好的公司一、ShardingSphere产品介绍 Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈#xff0c;它由 JDBC、Proxy 和 Sidecar#xff08;规划中#xff09;这 3 款相互独立#xff0c;却又能够混合部署配合使用的产品组成。 它们均提供标准化的数据分…一、ShardingSphere产品介绍 Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈它由 JDBC、Proxy 和 Sidecar规划中这 3 款相互独立却又能够混合部署配合使用的产品组成。 它们均提供标准化的数据分片、分布式事务和数据库治理功能可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。 一套开源的分布式数据库中间件解决方案。有三个产品JDBC、Proxy、Sidecar。 三者的区别如下 本文重点介绍ShardingJDBC这个组件该组件从应用层面解决了读写分离、分库分表、分布式事务等一系列问题。 1.ShardingJDBC介绍 ShardingJDBC定位为轻量级 Java 框架在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库以 jar 包形式提供服务无需额外部署和依赖可理解为增强版的 JDBC 驱动完全兼容 JDBC 和各种 ORM 框架。 适用于任何基于 JDBC 的 ORM 框架如JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC。支持任何第三方的数据库连接池如DBCP, C3P0, BoneCP, Druid, HikariCP 等。支持任意实现 JDBC 规范的数据库目前支持 MySQLOracleSQLServerPostgreSQL 以及任何遵循 SQL92 标准的数据库。 二、代码实践 实现功能 通过ShardingJDBC分布分表的功能能够对一个数据库中的分片表进行读写操作。 开发环境 spring-boot-boot-starter 2.2.11.RELEASE、mybatis-plus-boot-starter 3.0.5、sharding-jdbc-spring-boot-starter 4.0.0-RC1 实现步骤 1配置pom依赖。 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.2.11.RELEASE/versionrelativePath/ !-- lookup parent from repository -- /parent groupIdcom.yangnk/groupId artifactIdShardingJDBCDemo/artifactId version0.0.1-SNAPSHOT/version nameShardingJDBCDemo/name descriptionDemo project for Spring Boot/description propertiesjava.version1.8/java.version/properties dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.20/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdorg.apache.shardingsphere/groupIdartifactIdsharding-jdbc-spring-boot-starter/artifactIdversion4.0.0-RC1/version/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.0.5/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency /dependencies 2配置文件application.properties主要配置数据源、主键生成策略、分表策略等。 # sharding-jdbc 水平分表策略 # 配置数据源给数据源起别名 spring.shardingsphere.datasource.namesm1# 一个实体类对应两张表覆盖 spring.main.allow-bean-definition-overridingtrue# 配置数据源的具体内容包含连接池驱动地址用户名密码 spring.shardingsphere.datasource.m1.typecom.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.m1.driver-class-namecom.mysql.cj.jdbc.Driver spring.shardingsphere.datasource.m1.urljdbc:mysql://42.192.46.163:3306/test?serverTimezoneUTCuseSSLfalseallowPublicKeyRetrievaltrue spring.shardingsphere.datasource.m1.usernameroot spring.shardingsphere.datasource.m1.password777777# 指定course表分布的情况配置表在哪个数据库里表的名称都是什么 m1.course_1,m1.course_2 spring.shardingsphere.sharding.tables.course.actual-data-nodesm1.course_$-{1..2}# 指定 course 表里面主键 cid 的生成策略 SNOWFLAKE spring.shardingsphere.sharding.tables.course.key-generator.columncid spring.shardingsphere.sharding.tables.course.key-generator.typeSNOWFLAKE# 配置分表策略 约定 cid 值偶数添加到 course_1 表如果 cid 是奇数添加到 course_2 表 spring.shardingsphere.sharding.tables.course.table-strategy.inline.sharding-columncid spring.shardingsphere.sharding.tables.course.table-strategy.inline.algorithm-expressioncourse_$-{cid % 2 1}# 打开 sql 输出日志 spring.shardingsphere.props.sql.showtruespring.shardingsphere.mode.typeStandalone spring.shardingsphere.mode.repository.typeFile spring.shardingsphere.mode.overwritetrue orithms.course_tbl_alg.props.algorithm-expressioncourse_$-{cid%21} 配置中用到的Groovy表达式。 比如 m$-${0..1}.course_$-{1..2} 和 course_$-{cid%21} 。这是ShardingSphere支持的Groovy表达式在后面会大量接触到这样的表达式。这个表达式中$-{}部分为动态部分大括号内的就是Groovy语句。 两个点表示一个数据组的起点和终点。m$-${0..1}表示m0和m1两个字符串集合。course_$-{1..2}表示course_1和course_2集合。 course_$-{cid%21} 表示根据cid的值进行计算计算的结果再拼凑上course_前缀。 3通过MyBatis-plusMyBatisX插件根据表关系生成Mapper、domain、Service文件其最后的代码目录为 创建course表的分片表course_1和course_2其sql脚本如下 CREATE TABLE course_1 (cid bigint NOT NULL,cname varchar(50) COLLATE utf8mb4_cs_0900_ai_ci NOT NULL,user_id bigint NOT NULL,status varchar(10) COLLATE utf8mb4_cs_0900_ai_ci NOT NULL,PRIMARY KEY (cid) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_cs_0900_ai_ci;CREATE TABLE course_2 (cid bigint NOT NULL,cname varchar(50) COLLATE utf8mb4_cs_0900_ai_ci NOT NULL,user_id bigint NOT NULL,status varchar(10) COLLATE utf8mb4_cs_0900_ai_ci NOT NULL,PRIMARY KEY (cid) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_cs_0900_ai_ci; 通过创建单元测试类来进行分布分表功能验证最终的效果是在course_1和course_2表中都有对应记录生成。 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.yangnk.shardingjdbcdemo.domain.Course; import com.yangnk.shardingjdbcdemo.mapper.CourseMapper; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import javax.annotation.Resource; import java.util.List;SpringBootTest public class ShardingJdbcDemoApplicationTest {Resourceprivate CourseMapper courseMapper;Testpublic void addCourse() {for (int i 0; i 100; i) {Course course new Course();//cid由我们设置的策略雪花算法进行生成course.setCname(Java);course.setUser_id(100L);course.setStatus(Normal);courseMapper.insert(course);}}Testpublic void queryCourse() {QueryWrapperCourse wrapper new QueryWrapperCourse();wrapper.eq(cid,1L);ListCourse courses courseMapper.selectList(wrapper);courses.forEach(course - System.out.println(course));} } 参考资料 为什么要分库分表https://www.cnblogs.com/donleo123/p/17295667.html 使用 ShardingSphere 实操MySQL分库分表实战https://segmentfault.com/a/1190000038241298 2-ShardingJDBC分库分表实战指南https://note.youdao.com/ynoteshare/index.html?id96778e1d8e6349062b4e2548e518c03ftypenote_time1696850841023 本文由博客一文多发平台 OpenWrite 发布
http://www.hkea.cn/news/14477169/

相关文章:

  • 自己做产品网站wordpress企业网站制作
  • 电子报 网站开发如何做公司网站制作
  • 灵芝住房和城乡建设局局网站智能制造工程
  • 大气黑色机械企业网站源码石家庄建设厅官方网站
  • 乡村文化建设网站栏目设置wordpress update_post_meta
  • 网站加上视频对seo影响创新的武进网站建设
  • 宁波手机网站制作媚娘直播
  • 网站建设竣工验收报告动漫制作专业简历
  • google 网站突然一条收录也没有wordpress下载弹窗插件
  • 什么东西可以做网站沈阳建信建设工程有限公司
  • 莱州市招聘网站建设网站的要求吗
  • 仿网站被封怎么办建设音乐网站
  • 哈尔滨网站建设方案开发上海网站建设管理系统
  • 网站开发_超速云河北邢台新河网
  • seo优化网站词绵阳住房和城乡建设部网站
  • 网站登录页面模板下载企业网站开发综合实训
  • asp商业网站源码华为手机开发者模式怎么关闭
  • 做网站是学什么编程语言为网站添加统计
  • 做网站技术要求怎么写石排镇网站建设
  • 简单好看个人主页网站模板wordpress管理地址
  • 山东省建设部继续教育网站小学托管班
  • 做网站有没有前途聊城市东昌府区建设局网站
  • 揭阳网站制作托管seo网站做推广
  • 聊城市公司网站建站网站的基本概念
  • 涿州做网站开网店需要什么流程
  • 佛山网站建设网站建设收费wordpress 添加订阅按钮
  • 网站开发亿玛酷技术普宁做男科检查长江网站L
  • 国外html5做的音乐网站做高端网站建设公司
  • 开发网站需要问什么wordpress 后台登陆界面
  • 网站的特征包括哪些方面潍坊专职消防员待遇