微服务学习+商城

张开发
2026/4/19 3:42:45 15 分钟阅读

分享文章

微服务学习+商城
一、MybatisPlus1.快速入门依赖是mybatis-plus这种说明不是springboot官方的plus的依赖里面包含mybatis的了BaseMapper里面封装了增删改查的方法直接继承接口的方法就能实现不用写代码实现增删改查2.常见注解如果没有写注解的时候MyBatisPlus默认会一些常用的注解existfalse表示数据库中这个字段不存在3.常见配置没写别名扫描包前写了别名扫描包后4.条件构造器wrapper就能够代表复杂的结构QueryWrapper查询出名字中带o,存款大于等于1000元的人的id、username、info、balance等字段更新用户名为jack的用户的余额为2000UpdateWrapper更新id为1,2,4的用户的余额扣200LambdaQueryWrapper也有LambdaUpdateWrapper这种没有在java代码中写死数据库表的字段名比较灵活优雅5.自定义SQL比较符合企业的要求我们不希望在.xml文件中写那么多判断在java代码里面直接写会更容易一些我们可以利用MyBatisPlus的Wrapper来构建复杂的Where条件在java代码里面写然后自己定义SQL语句中剩下的部分$(ew.customSqlSegment) $是拼接 customSqlSegment固定写法自定义的sql片段部分6.Service接口接口类编写案例基础方便测试可以引入knife4j的依赖swagger的加强版 是一个基于 Swagger 的增强工具用于生成更美观、功能更强大的 API 文档同时还需要在application.yaml中添加通过userservice接口实现了单表的增删改查操作不难的都不用动业务层直接就在controller层实现了根据用户id扣除用户余额IService的LambdaQuery方法eq相当于where,写条件IService的LambdaUpdate方法批量插入数据在数据库url这里加上7.扩展功能代码生成下载mybatisplus插件静态工具类UserService引用AddressServiceAddressService又引用UserService这样会导致循环调用产生死循环Mybatis-plus提供Db工具类解决在某个业务对象中调用另外一个业务对象的问题枚举处理器序列化把java符号转换为json字符串的时候他JSON处理器这样可以将数据库的json返回前端也是json分页插件多组户一个平台有多个商家在用配置好这个每次使用的时候都会自动在sql语句中拼接好id二、docker1.快速入门部署MySQL镜像仓库Docker Hub 国内无法使用命令解读端口映射在虚拟机中我的mysql直接运行的是3306端口但我从外部访问不到我可以把mysql的3306端口映射到虚拟机的3306端口这样外部就可以访问了前面的端口是映射到的虚拟机的端口后面是容器内的这个服务的端口2.基础常见命令docker run是创建并启动容器每个docker容器内部都会独立模拟出来一个linux操作系统像套娃一样在这个容器中我用linux进入mysql就可以进入这个容器的mysql服务和linux中一样使用简化命令数据卷volume 是一个虚拟目录是容器内目录与宿主机目录之间映射的桥梁自定义镜像网络3.项目部署三、SpirngCloud1.微服务拆分虽然物理上是隔开的但两台服务器可以通过网络连接,通过网络发请求2.服务治理注册中心Nacosnacos运行在linux虚拟机上用docker部署同一种服务可以有多个实例可以对多个实例实现负载均衡调用3.OpenFeign连接池最佳使用方式1.这里可以在pom文件里面直接引入对应的项目坐标问题是相互调用起来很麻烦耦合度偏低2.放在一个里面都去访问它耦合度略微高日志4.网关gateway网关能在注册中心找到微服务具体运行在哪个地方响应式编程阻塞式编程网关也是个服务路由属性网关登录校验网关传递到微服务这里面添加路径可以让springboot原本扫描不到的包也进行自动装配微服务之间传递微服务登录解决方案5.配置管理配置共享配置热更新动态路由使用json比较方便转yaml不方便转5.微服务保护雪崩问题Sentineljar包搭建控制台相当于在主线路失败的时候提供一个兜底方案友好提示或者结果6.分布式事务Seata四、RabbitMQ1.初识高性能的异步通讯组件virtual-host相当于数据库下的每个databaseJava客户端交换机FanoutDirectTopic基于Bean声明队列和交换机基于注解声明队列和交换机消息转换器2.高级五、ElasticSearch1.初识倒排索引模糊搜索使用正向索引特别慢需要一个个去比对IK分词器基础概念索引库操作文档操作JavaRestClient2.高级六、Redis

更多文章