班级网站制作教程上海网上推广优化

张小明 2025/12/30 12:59:56
班级网站制作教程,上海网上推广优化,揭阳网站设计制作,无锡网站制作选哪家【超简单三分钟学会】Spring Boot 项目实现 MySQL 分库分表——用用户登录数据做示范 在这个教程中#xff0c;我们将通过一个简单的 用户登录表 示例#xff0c;来学习如何在 Spring Boot 项目中实现 MySQL 分库分表。通过这个分布式数据库的技术#xff0c;你将能够处理更…【超简单三分钟学会】Spring Boot 项目实现 MySQL 分库分表——用用户登录数据做示范在这个教程中我们将通过一个简单的用户登录表示例来学习如何在Spring Boot项目中实现MySQL 分库分表。通过这个分布式数据库的技术你将能够处理更大规模的数据量提高系统的性能和可扩展性。本教程适合的对象Spring Boot 初学者对 MySQL 分库分表有兴趣的开发者希望优化数据库性能的人️ 环境配置我们需要的开发环境配置如下Spring Boot 版本2.xMySQL 版本5.x 或 8.xShardingSphere-JDBC 版本3.x用于分库分表MyBatis用于操作数据库1. 引入必要的依赖在pom.xml文件中添加以下依赖dependencies!-- Spring Boot Starter Web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- ShardingSphere JDBC --dependencygroupIdorg.apache.shardingsphere/groupIdartifactIdsharding-jdbc-core/artifactIdversion5.0.0/version/dependency!-- MyBatis 框架 --dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.2.0/version/dependency!-- Spring Boot Starter JDBC --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependency/dependencies2. 配置数据库连接分库分表在application.yml中配置数据库连接以及 ShardingSphere 的分库分表规则。application.yml配置示例spring:datasource:url:jdbc:mysql://localhost:3306/db1,localhost:3307/db2username:rootpassword:passworddriver-class-name:com.mysql.cj.jdbc.Driverhikari:maximum-pool-size:10minimum-idle:2# ShardingSphere 配置shardingsphere:datasource:names:ds0,ds1datasource:ds0:type:com.zaxxer.hikari.HikariDataSourcedriver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/db0username:rootpassword:passwordds1:type:com.zaxxer.hikari.HikariDataSourcedriver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3307/db1username:rootpassword:passwordsharding:tables:user_login:actual-data-nodes:ds$-{0..1}.user_login_$-{0..1}table-strategy:inline:sharding-column:user_idalgorithm-expression:user_login_$-{user_id % 2}配置解释数据源配置配置了ds0和ds1两个数据库分别连接到 MySQL 的不同数据库实例。分库分表配置通过user_id % 2来决定数据存储在哪个user_login_0或user_login_1表中。3. 创建数据库和表在 MySQL 中创建数据库和对应的分表。SQL 脚本CREATEDATABASEdb0;CREATEDATABASEdb1;-- 创建分库分表CREATETABLEdb0.user_login_0(user_idINTPRIMARYKEY,usernameVARCHAR(50),passwordVARCHAR(100),last_login_timeDATETIME);CREATETABLEdb0.user_login_1(user_idINTPRIMARYKEY,usernameVARCHAR(50),passwordVARCHAR(100),last_login_timeDATETIME);CREATETABLEdb1.user_login_0(user_idINTPRIMARYKEY,usernameVARCHAR(50),passwordVARCHAR(100),last_login_timeDATETIME);CREATETABLEdb1.user_login_1(user_idINTPRIMARYKEY,usernameVARCHAR(50),passwordVARCHAR(100),last_login_timeDATETIME);user_login_0和user_login_1表将根据user_id % 2来决定数据的存储位置。4. 编写 Mapper 接口和 Mapper XML 文件4.1 创建 Mapper 接口在mapper包下创建UserLoginMapper.java接口定义插入和查询方法。packagecom.example.demo.mapper;importcom.example.demo.model.UserLogin;importorg.apache.ibatis.annotations.Insert;importorg.apache.ibatis.annotations.Mapper;importorg.apache.ibatis.annotations.Select;importorg.apache.ibatis.annotations.Param;MapperpublicinterfaceUserLoginMapper{// 插入数据Insert(INSERT INTO user_login_${user_id % 2} (user_id, username, password, last_login_time) VALUES (#{userId}, #{username}, #{password}, #{lastLoginTime}))voidinsertUserLogin(UserLoginuserLogin);// 根据 user_id 查询数据Select(SELECT * FROM user_login_${user_id % 2} WHERE user_id #{userId})UserLogingetUserLoginById(Param(userId)intuserId);}4.2 创建 Mapper XML 文件然后在resources/mapper目录下创建UserLoginMapper.xml文件添加 SQL 语句映射。?xml version1.0 encodingUTF-8 ?mappernamespacecom.example.demo.mapper.UserLoginMapper!-- 插入用户登录数据 --insertidinsertUserLoginparameterTypecom.example.demo.model.UserLoginINSERT INTO user_login_${user_id % 2} (user_id, username, password, last_login_time) VALUES (#{userId}, #{username}, #{password}, #{lastLoginTime})/insert!-- 根据 user_id 查询用户登录信息 --selectidgetUserLoginByIdresultTypecom.example.demo.model.UserLoginSELECT * FROM user_login_${user_id % 2} WHERE user_id #{userId}/select/mapper4.3 创建UserLogin实体类在model包下创建UserLogin.java实体类。packagecom.example.demo.model;importjava.util.Date;publicclassUserLogin{privateintuserId;privateStringusername;privateStringpassword;privateDatelastLoginTime;// Getters and Setters}5. 测试与验证现在你可以通过 Spring Boot 应用来测试你的分库分表配置是否生效。启动 Spring Boot 项目。使用 Postman 或浏览器测试接口插入一条用户登录数据并查询。AutowiredprivateUserLoginMapperuserLoginMapper;publicvoidtestInsertAndQuery(){UserLoginuserLoginnewUserLogin();userLogin.setUserId(1);userLogin.setUsername(testuser);userLogin.setPassword(password);userLogin.setLastLoginTime(newDate());// 插入数据userLoginMapper.insertUserLogin(userLogin);// 查询数据UserLoginqueriedUseruserLoginMapper.getUserLoginById(1);System.out.println(queriedUser.getUsername());}END通过本教程你已经学会了如何在Spring Boot项目中使用MyBatis配置 MySQL 的分库分表。我们使用了一个简单的用户登录表作为示例带你一步步实现了分库分表的功能。这种方式不仅能优化数据库性能还能提高系统的可扩展性。如果你对本教程有任何疑问欢迎留言
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

福州制作网站企业建站之星安装说明

【2025完全指南】AI文档编辑器:5分钟快速上手的终极教程 【免费下载链接】uai-editor UAI Editor 是一个现代 UI 风格、面向 AI 的强大的个人&团队文档。开箱即用,支持Vue、React、Layui、Angular 等几乎任何前端框架。 项目地址: https://gitcode…

张小明 2025/12/30 12:59:23 网站建设

网站界面设计专利兰州企业做网站

基于Golang的分布式综合资产管理系统设计与实现 基于Golang的分布式综合资产管理系统:毕业设计源码与论文全解析 引言:网络安全时代的高效资产管理利器 在当今数字化时代,网络安全已成为企业和组织面临的核心挑战之一。随着网络攻击手段的…

张小明 2025/12/30 12:58:48 网站建设

广告做网站网站代做

PaddlePaddle镜像支持的节日主题内容策划 在春节、中秋、国庆等重要节日期间,企业对AI能力的需求往往呈现爆发式增长——从智能客服自动识别“新年快乐”这类祝福语,到电商平台实时分析用户评论中的“红包”“团圆饭”情绪倾向,再到社交应用中…

张小明 2025/12/30 12:58:15 网站建设

怎么做网站底部版权信息专业制作银行存单

北京创业省钱攻略!0 元注册公司不是梦 谁说在北京开公司要花大几千?亲身实测,核名、执照办理、刻章备案全程 0 费用!工作人员一句话直接让我震惊:“现在北京对初创者的支持力度就是这么大”,当场截图发圈分…

张小明 2025/12/30 12:57:42 网站建设

江西网站优化友情链接交换平台

点击蓝字关注我 作者 |风雨软件 前言 今天,为大家推荐一款超实用的文件查询工具,它能帮你快速、轻松地揪出电脑里的重复文件,极大提升文件管理的效率。 ZZYDupFile 文件查重工具 软件是绿色单文件,身形极为小巧&#xff…

张小明 2025/12/30 12:57:08 网站建设

东阳网站建设公司长春是几线城市2021

🎬 HoRain 云小助手:个人主页 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …

张小明 2025/12/30 12:56:34 网站建设