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

做网站和app需要多久电子商务网站建设的方法有哪些

做网站和app需要多久,电子商务网站建设的方法有哪些,公众号怎么制作文章,单页网站赚钱前言 多租户技术#xff08;multi-tenancy technology#xff09;是一种软件架构技术#xff0c;它允许在单个系统实例上为多个用户或组织提供服务#xff0c;同时确保这些用户之间数据的隔离性。在多租户架构中#xff0c;每个租户#xff08;可以是个人用户、企业、组…前言 多租户技术multi-tenancy technology是一种软件架构技术它允许在单个系统实例上为多个用户或组织提供服务同时确保这些用户之间数据的隔离性。在多租户架构中每个租户可以是个人用户、企业、组织等共享相同的应用程序实例、硬件资源和基础设施但数据和配置是相互隔离的每个租户只能访问自己的数据和配置互不干扰。 功能描述 基于字段tenant_id数据隔离租户排除特殊表排除特殊查询异步支持 代码实现 依赖引入 dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.3.2/version /dependencydependencygroupIdcom.github.jsqlparser/groupIdartifactIdjsqlparser/artifactIdversion3.1/version /dependencyyml配置 # mybatis-plus配置 mybatis-plus:# 启动检查MyBatis配置文件check-config-location: false# MyBatis配置文件位置config-location:# MyBaits别名包扫描路径type-aliases-package: com.qiangesoft.tenantid.entity# Mapper所对应的XML文件位置 默认【classpath*:/mapper/**/*.xml】mapper-locations: classpath*:/mapper/*Mapper.xml# TypeHandler扫描路径type-handlers-package:configuration:# 日志打印log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 是否开启自动驼峰命名规则map-underscore-to-camel-case: true# 开启Mybatis二级缓存默认为truecache-enabled: trueglobal-config:# 控制台mybatis-plus的logobanner: truedb-config:# 全局默认主键类型id-type: auto# 逻辑删除配置logic-delete-field: deletedlogic-delete-value: 1logic-not-delete-value: 0配置类 package com.qiangesoft.tenantid.config;import com.baomidou.mybatisplus.core.parser.ISqlParser; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.extension.plugins.tenant.TenantHandler; import com.baomidou.mybatisplus.extension.plugins.tenant.TenantSqlParser; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.StringValue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes;import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Arrays; import java.util.List;/*** mybatis-plus配置** author qiangesoft* date 2024-04-11*/ Configuration public class MybatisPlusConfig {Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor new PaginationInterceptor();ListISqlParser sqlParserList new ArrayList();TenantSqlParser tenantSqlParser new TenantSqlParser();tenantSqlParser.setTenantHandler(new TenantHandler() {Overridepublic Expression getTenantId(boolean select) {ServletRequestAttributes attributes (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request attributes.getRequest();String tenantId request.getHeader(tenantId);return new StringValue(tenantId);}Overridepublic String getTenantIdColumn() {return tenant_id;}/*** 整张表租户过滤排除* param tableName* return*/Overridepublic boolean doTableFilter(String tableName) {ListString ignoreTables Arrays.asList(sys_demo);return ignoreTables.stream().anyMatch(e - e.equalsIgnoreCase(tableName));}});sqlParserList.add(tenantSqlParser);paginationInterceptor.setSqlParserList(sqlParserList);return paginationInterceptor;}} 排除特殊查询 SqlParser(filter true)只能作用于mapper层 package com.qiangesoft.tenantid.mapper;import com.baomidou.mybatisplus.annotation.SqlParser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qiangesoft.tenantid.entity.SysDept; import org.apache.ibatis.annotations.Param;import java.util.List;/*** p* 部门信息 Mapper 接口* /p** author qiangesoft* since 2024-04-11*/ public interface SysDeptMapper extends BaseMapperSysDept {/*** 不进行租户过滤** param parentId* return*/SqlParser(filter true)ListSysDept listByParam(Param(parentId) Long parentId);} ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.qiangesoft.tenantid.mapper.SysDeptMapperselect idlistByParam resultTypesysDeptselect *from sys_deptwhere parent_id #{parentId}/select/mapper package com.qiangesoft.tenantid.controller;import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qiangesoft.tenantid.entity.SysDept; import com.qiangesoft.tenantid.entity.SysUser; import com.qiangesoft.tenantid.service.ISysDeptService; import com.qiangesoft.tenantid.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** p* 用户信息 前端控制器* /p** author qiangesoft* since 2024-04-11*/ Slf4j RestController RequestMapping(/sys-user) public class SysUserController {Autowiredprivate ISysUserService sysUserService;Autowiredprivate ISysDeptService sysDeptService;GetMapping(/list)public ListSysUser list() {LambdaQueryWrapperSysUser queryWrapper new LambdaQueryWrapper();queryWrapper.orderByDesc(SysUser::getCreateTime);ListSysUser sysUserList sysUserService.list(queryWrapper);log.info(JSON.toJSONString(sysUserList));ListSysDept sysDeptList sysDeptService.listByParam(1L);log.info(JSON.toJSONString(sysDeptList));return sysUserList;}}package com.qiangesoft.tenantid.service;import com.baomidou.mybatisplus.extension.service.IService; import com.qiangesoft.tenantid.entity.SysDept;import java.util.List;/*** p* 部门信息 服务类* /p** author qiangesoft* since 2024-04-11*/ public interface ISysDeptService extends IServiceSysDept {/*** 查询部门** param parentId* return*/ListSysDept listByParam(Long parentId);} 异步支持 package com.qiangesoft.tenantid.controller;import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qiangesoft.tenantid.entity.SysDept; import com.qiangesoft.tenantid.entity.SysUser; import com.qiangesoft.tenantid.service.ISysDeptService; import com.qiangesoft.tenantid.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes;import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask;/*** p* 用户信息 前端控制器* /p** author qiangesoft* since 2024-04-11*/ Slf4j RestController RequestMapping(/sys-user) public class SysUserController {Autowiredprivate ISysUserService sysUserService;Autowiredprivate ISysDeptService sysDeptService;GetMapping(/sync)public ListSysDept sync() throws ExecutionException, InterruptedException {LambdaQueryWrapperSysUser queryWrapper new LambdaQueryWrapper();queryWrapper.orderByDesc(SysUser::getCreateTime);ListSysUser sysUserList sysUserService.list(queryWrapper);log.info(JSON.toJSONString(sysUserList));// 异步查询部门ServletRequestAttributes sra (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();Callable getUser () - {RequestContextHolder.setRequestAttributes(sra, true);ListSysDept sysDeptList sysDeptService.list();log.info(JSON.toJSONString(sysDeptList));return sysUserList;};FutureTaskListSysDept future new FutureTask(getUser);new Thread(future).start();return future.get();}}请求调用 请求头添加tenantId
http://www.pierceye.com/news/514941/

相关文章:

  • 威海网站建设费用网站不能调用样式
  • 网站链接建设及引流营销世界500强企业中国有几家
  • 哪个网站做网络推好推广引流的10个渠道
  • 上海企业一网通办沂seo网站推广
  • 资阳网站网站建设官方网站建设公司
  • 企业网站建设一条龙服务内容如何自己免费创建网站
  • 重庆智能网站建设多少钱临海做网站
  • 创建好网站如何把浏览器合肥道路建设从哪个网站可以看到
  • 湖北省和建设厅网站自助建站模板
  • 西安网站建设 美科动seo关键词优化哪个平台好
  • 副食店年报在哪个网站做mc建筑网站
  • 网站建设不足之处2017网站设计尺寸
  • 网站架构招聘怎么免费的安装wordpress主题
  • 海天建设集团网站深圳西乡地铁站
  • 上海html5网站建设第九影院用wordpress版权信息
  • 东莞网站建设运营方案尺寸在线做图网站
  • 萍乡网站推广陕西省住房和城乡建设厅网站上查询
  • 南京市浦口区建设局网站多商户商城app开发
  • 网站设置不能通过链接访问中专网站建设与管理就业前景
  • 大连网站建设哪个公司好郑州最新通告
  • 如何自己搭建网站做装修的业务网站
  • app网站的优点手机自助建站永久免费
  • 搜索栏搜索网站?热?文市场调研流程
  • 外贸网站建设课本建设网站群的好处
  • 网站开发文献综述范文网络推广计划书格式
  • 有免费网站服务器吗在线美图
  • 电商网站设计的原则免费下载app软件下载大全
  • 餐饮网站建设优化建站wordpress copyright
  • 腾讯建站官网设计网页步骤
  • 网站建设三方合同范本wordpress数字链接出现404