一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

mall数据库表结构概览

商品管理 数据库表结构 功能结构 订单管理 数据库表结构 功能结构 营销管理 数据库表结构 功能结构 内容管理 数据库表结构 功能结构 用户管理 数据库表结构 功能结构 注意:部分功能暂未实现,只是对表结构进行了设计,商品管理、订单管理、营销管理大部分功能均已实现。 相关资料 PowerDesigner数据库设计文件 商品管理:https://github.com/macrozheng/mall-learning/blob/master/document/pdm/mall_pms.pdm 订单管理:https://github.com/macrozheng/mall-learning/blob/master/document/pdm/mall_oms.pdm 营销管理:https://github.com/macrozheng/mall-learning/blob/master/document/pdm/mall_sms.pdm 内容管理:https://github.com/macrozheng/mall-learning/blob/master/document/pdm/mall_cms.pdm 用户管理:https://github.com/macrozheng/mall-learning/blob/master/document/pdm/mall_ums.pdm MindMaster功能思维导图 商品管理:https://github.com/macrozheng/mall-learning/blob/master/document/mind/pms.emmx 订单管理:https://github.com/macrozheng/mall-learning/blob/master/document/mind/oms.emmx 营销管理:https://github.com/macrozheng/mall-learning/blob/master/document/mind/sms.emmx 内容管理:https://github.com/macrozheng/mall-learning/blob/master/document/mind/cms.emmx 用户管理:https://github.com/macrozheng/mall-learning/blob/master/document/mind/ums.emmx 使用到的工具 PowerDesigner:http://powerdesigner.de/ MindMaster:http://www.edrawsoft.cn/mindmaster 推荐阅读 mall在Linux环境下的部署(基于Docker Compose) mall在Linux环境下的部署(基于Docker容器) mall在Windows环境下的部署 mall整合SpringBoot+MyBatis搭建基本骨架 mall整合Swagger-UI实现在线API文档 mall整合SpringSecurity和JWT实现认证和授权(一) mall整合Elasticsearch实现商品搜索 mall整合Mongodb实现文档操作 mall整合RabbitMQ实现延迟消息 mall整合OSS实现文件上传   from:https://mp.weixin.qq.com/s?__biz=MzU1Nzg4NjgyMw==&mid=2247483835&idx=1&sn=895ae94d5a0bc5fbe5bed8aa715d92af&scene=21#wechat_redirect

龙生   18 May 2021
View Details

一个不容错过的Spring Cloud实战项目!

mall-swarm简介 mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。 系统架构图 系统架构图 后端技术栈 技术 说明 Spring Cloud 微服务框架 Spring Boot 容器+MVC框架 Spring Security 认证和授权框架 MyBatis ORM框架 MyBatisGenerator 数据层代码生成 PageHelper MyBatis物理分页插件 Swagger-UI 文档生产工具 Elasticsearch 搜索引擎 RabbitMq 消息队列 Redis 分布式缓存 MongoDb NoSql数据库 Docker 应用容器引擎 Druid 数据库连接池 OSS 对象存储 MinIO 对象存储 JWT JWT登录支持 LogStash 日志收集 Lombok 简化对象封装工具 Seata 全局事务管理框架 Portainer 可视化Docker容器管理 Jenkins 自动化部署工具 项目结构

学习路线 之前有朋友问我,mall-swarm这个项目有没有学习教程?其实这个项目的功能与mall项目基本一致,只是在此基础上改成了微服务版本,只要看我写的《mall学习教程》和《Spring Cloud学习教程》即可,下面聊聊我所推荐的学习路线。 学习mall 《mall学习教程》主要分为如下几个部分,推荐学习顺序是除参考篇以外可以按下面的顺序学习,对于参考篇,可以在用到里面相关技术时再学习。 序章:mall项目的整体架构及功能介绍,同时对于新手推荐了一些相关书籍资料; 架构篇:mall项目的架构搭建教程,手把手教你搭建一个mall项目在使用的基本项目骨架; 业务篇:mall项目电商业务相关教程,对于了解项目业务有很大帮助; 技术要点篇:mall项目中的一些技术要点解析,主要介绍一些技术在项目中的运用; 部署篇:mall项目的部署教程,包括Windows、Linux和自动化部署方案; 参考篇:mall项目中所用技术和工具的入门教程,每一篇都可以单独学习,对于mall项目,这些教程的深入程度都刚刚好。 项目地址:https://github.com/macrozheng/mall-learning 学习SpringCloud 《Spring Cloud学习教程》是一套涵盖大部分核心组件使用的教程,包括Spring Cloud Alibaba及分布式事务Seata,基于Spring Cloud Greenwich及SpringBoot 2.1.7。20篇文章,篇篇精华,30个Demo,涵盖大部分应用场景。mall-swarm项目中所用到的Spring Cloud技术该教程基本都涵盖了,学习该教程可以为学习mall-swarm项目打下良好的Spring Cloud基础。 项目地址:https://github.com/macrozheng/springcloud-learning 学习mall-swarm 当我们学习了《mall学习教程》和《Spring Cloud学习教程》之后就可以着手学习mall-swarm这个项目了。首先需要的就是按之前的教程把项目跑起来,然后进行源码的学习,相信有了学习上面两套教程的基础,搞懂源码并不是什么难事。下面提供下mall-swarm的部署教程: mall-swarm在Windows环境下的部署 mall-swarm在Linux环境下的部署(基于Docker容器) 微服务架构下的自动化部署,使用Jenkins来实现! […]

龙生   18 May 2021
View Details

我常用的IDEA插件大公开,个个是精品!

总结了平时工作中常用的12款IDEA插件,后端和前端的都有了,附上我的使用技巧,看完之后开发效率杠杠的!

龙生   18 May 2021
View Details

Dapper中条件为In的写法

今天用Dapper更新是用到了IN写法,园子里找了篇文章这样写到 传统sql in (1,2,3) 用dapper就这样写

用了之后出现, System.Data.SqlClient.SqlException:““,”附近有语法错误。” 这样的提示, 跟踪SQL语句时发现按以上方法生成的SQL语句是这样的:

我们不难发现生成的语句中多了一层括号,于是果段修改代码:

执行成功!问题解决! 当然也有可能是我的Dapper的版本问题,我用得是:Dapper 1.50.4.0   from:https://www.cnblogs.com/cmt/p/14580194.html?from=https%3A%2F%2Fwww.cnblogs.com%2Fxwei%2Fp%2F8794384.html&blogId=121045&postId=8794384

龙生   06 May 2021
View Details

jvm安装及配置

【安装】 1、下载安装包: 在官网下载https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2、上传到服务器/usr/lib目录下 3、解压:

  4、配置环境变量

  添加

  5、生效

  6、检查是否生效

出现版本号则已生效   【调优配置】 1、堆配置 -Xms 初始堆大小 -Xmx 最大堆大小 -Xmn 设置年轻代大小 -Xss 设置每个线程的堆栈大小 典型设置: -Xmx3550m      设置JVM最大可用内存为3550m; -Xms3550m      设置JVM初始内存为3550m,此值可以设置-Xmx相同,以避免每次垃圾回收完成以后JVM重新分配内存; -Xmn2g             设置年轻代大小为2G。整个堆大小=年轻代大小+年老代大小+持久代大小。持久代一般固定为64M,所以增大年轻代后,将会减少年老代大小,此值对系统性能影响比较大,Sun官方推荐配置为整个堆的3/8; -Xss128k           设置每个线程的堆栈大小。JDK5.0以后每个线程栈大小为1M,以前每个线程堆栈大小为256k。根据应用的线程所需要内存大小进行调整。在相同物理内存下,减少这个值能够生成更多的线程。但是操作系统对一个进程内的线程还是有限制的,不能无限生成,经验值在3000-5000左右。 为什么要区分新生代和老生代 堆中区分的新生代和老年代是为了垃圾回收,新生代中的对象存活期一般不长,而老年代中的对象存活期较长,所以当垃圾回收器回收内存时,新生代中垃圾回收效果较好,会回收大量的内存,而老年代中回收效果较差,内存回收不会太多。   2、设置年轻代大小 -XX:NewSize          年轻代初始值 -XX:MaxNewSize   年轻代最大值 -XX:NewRatio        年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代) -XX:SurvivorRatio  年轻代中Eden区与Survivor区的大小比值   3、回收器的选择 -XX:+UseParallelGC   选择垃圾收集器为并行收集器。此配置仅对年轻代有效。即上述配置下,年轻代使用并行收集,而年老代仍旧使用串行收集。 -XX:PARALLELgcThreads    配置垃圾回收线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相同。 -XX:+UseParallelOldGC    配置年老代来及收集方式为并行收集,JDK6.0支持对年老代并行收集 -XX:MaxGCPauseMillis=100    设置每次年轻代垃圾回收的最长时间,如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值 -XX:+UseAdaptiveSizePolicy   设置此选项以后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低响应时间或者收集频率等,此值建议使用并行收集器时,一直打开   【调优工具】 Jconsole,jProfile,VisualVM

龙生   25 Apr 2021
View Details

vs 启用非托管调试时不允许更改

解决方案: 项目->右键属性->调试->启用本机代码调试,去掉勾选!   from:http://www.csframework.com/archive/1/arc-1-20170923-2353.htm

龙生   19 Apr 2021
View Details

如何:启用非托管代码调试

提示 Visual Studio 学习版(如 Visual C# 速成版)不支持调试非托管代码, 只有完整的 Visual Studio 产品才支持此操作。 位于**“项目设计器”的“调试”页上的“非托管代码调试”**属性确定是否支持本机代码调试。 如果要调用 COM 对象,或启动调用您的项目的、以本机代码编写的自定义程序,并且需要调试本机代码,请选定此选项。 启用对非托管代码的调试 在**“解决方案资源管理器”中选定一个项目,然后在“项目”菜单中单击“属性”**。 单击**“调试”**选项卡。 选中**“启用非托管代码调试”**复选框。 禁用对非托管代码的调试 在**“解决方案资源管理器”中选定一个项目,然后在“项目”菜单中单击“属性”**。 单击**“调试”**选项卡。 单击以清除**“启用非托管代码调试”**复选框。   from:https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/tdw0c6sf(v=vs.100)

龙生   19 Apr 2021
View Details

C#生成Guid的几种方式

  from:https://www.cnblogs.com/shiyh/p/10966059.html

龙生   19 Apr 2021
View Details

[配置问题记录]gradle配置下的springboot项目中启用lombok,报错: cannot find symbol symbol: variable log

eclipse已安装lombok插件,ide提示均正常,但gradle中编译报错cannot find symbol 经过排查发现是build.gradle中少了annotationProcessor配置导致,补充第二行配置后刷新项目搞定 implementation 'org.projectlombok:lombok:1.18.10' annotationProcessor 'org.projectlombok:lombok:1.18.10' ———————————————— 版权声明:本文为CSDN博主「chandtler」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/chandtler/article/details/103287550

龙生   19 Apr 2021
View Details

java数组基本操作

一、数组声明 两种形式(方括号位置放变量前后都可以): int arr[ ]; int[ ] arr2; 二、数组初始化 数组初始化也有两种形式,如下(使用new或不使用new): int arr[] = new int[]{1, 3, 5, 7, 9}; int[] arr2 = {2, 4, 6, 8, 10}; 三、遍历数组 遍历数组可用for/foreach,如下: for循环略 int arr[] = new int[]{1, 3, 5, 7 ,9}; for (int x: arr) { System.out.print(x + "\t"); } 四、Arraysfill填充数组(修改数组) 使用Arrays类的静态方法,需要import包java.util.Arrays,定义了许多重载方法。 void fill(int[] a, int val)全部填充 void fill(int[] a, int fromIndex, int toIndex, int val)填充指定索引的元素  左闭右开

  五、Arrayssort对数组排序(使用Arrays.调用) void sort(int[] a)全部排序    默认升序 void sort(int[] a, int fromIndex, int toIndex)排序指定索引的元素

  六、ArrayscopyOf复制数组 int[] copyOf(int[] original, int newLength)复制数组,指定新数组长度 int[] copyOfRange(int[] original, int from, int to)复制数组,指定所复制的原数组的索引

  七、检查数组中是否包含某一个值   先使用Arrays.asList()将Array转换成List<String>,这样就可以用动态链表的contains函数来判断元素是否包含在链表中 […]

龙生   12 Apr 2021
View Details
1 44 45 46 177