我和openGauss的故事干货输出开源Mall4j商城系统MySQL5.7数据库底座替换openGauss探索实践

Mall4j商城系统可以将企业的资源进行有效的整合,让商家的布局更加广泛、配套更加完善、管理更加成熟。另外,mall4j商城系统可以帮助企业集合各个渠道的资源,充分利用资源和渠道来提升商城的销量。还有多种营销功能:团购、秒杀、会员积分、优惠券、满减满折等营销玩法,把消费变成了一种“游戏”,有趣,有效果。

Mall4j商城系统功能亮点:1、系统具备高效的管理功能:商品管理、会员管理、订单管理、统计管理、支付管理、门店管理、库存管理等管理功能;2、灵活多样的营销赋能模式:满减、团购、秒杀、分销、积分、O2O、优惠券、套餐、赠品等营销方式;3、多终端适配:支持PC、H5、小程序、APP(android、IOS)。

Mall4j商城系统技术亮点:

SOA会通过ESB来作为系统和服务之间的通信桥梁,ESB本身还提供服务地址的管理、不同系统之间的协议转化和数据格式转化等等。消费者不需要关心目标的服务位置,实现了服务消费者和服务生产者的高度解耦,SOA可以消除信息孤岛并实现共享业务重用。

B2C商城系统【品牌电商】单用户商城系统,统一后台管理、多终端覆盖

B2B2C商城系统【平台电商】多用户商城系统,自营+多商家入驻电商平台

S2B2C商城系统【供应链】融合供应链、为供应商、经销商、零售商赋能

O2O商城系统【新零售】线上线下融合,助力传统零食企业转型与发展

电商平台【PC端、可视化】可视化编辑,完善购物体验及商品数据分析

商城小程序【小程序】轻应用,体验优质,快速抢占移动电商市场

商城APP【UNIAPP】IOS、Android双APP,聚拢用户购物更便捷

社交电商【移动电商】融合拼团、会员分销等多种前沿社交营销模式

积分商城【留存复购】结合会员体系、打造积分运营体系,引老留新

跨境电商【海外】海外支付,多语言切换,为企业提供跨境方案

Mall4j商城系统复杂,涉及的技术组件多,我们准备用OpenGauss替换MySQL5.7,改动的的东西涉及项目依赖文件、配置文件、解析文件,尤其数据库的内核能力以及对应用框架的兼容程度非常重要,假设开发者要大费周章大面积的改动,或者要动jar包的配置,估计OpenGauss替换MySQL5.7的计划就要搁浅或者放弃了。这不仅仅是一个MySQL5.7往openGauss3.0数据迁移的事,还是业务应用系统往新的数据库适应环境的事,openGauss3.0必须要输出给力,除了能够替代MySQL5.7,迁移成本也必须低,运维成本也低。

代码结构

[root@enmoedu1yami-b2b2c]#tree-L1.├──CHANGELOG.md├──compile.sh├──db├──doc├──docker-compose.yml├──LICENSE├──log├──mall4m├──mall4uni├──mall4v├──pom.xml├──README.md├──screenshot├──yami-shop-admin商城后端接口服务管理系统,数据库操作有关├──yami-shop-api商城前端接口调用系统,数据库操作有关├──yami-shop-bean├──yami-shop-commonpom.xml含有mysql的调用├──yami-shop-quartz├──yami-shop-security├──yami-shop-service└──yami-shop-syssrc/main/resources/mapper/SysMenuMapper.xml数据库操作有关15directories,6filespom.xml/opt/projects/yami-b2b2c/yami-shop-common目录,pom.xml内容如下,需要注释

改成

org.postgresqlpostgresql42.2.2logback-prod.xml/opt/projects/yami-b2b2c/yami-shop-admin/src/main/resources/logback/logback-prod.xml

/opt/projects/yami-b2b2c/yami-shop-api/src/main/resources/logback/logback-prod.xml

里面确定唯一的PROJECT_PATH

application-dev.yml与application-prod.ymldev是开发环境的配置参数prod是生产环境的配置参数

/opt/projects/yami-b2b2c/yami-shop-admin/src/main/resources/里面有两个文件application-dev.yml和application-prod.yml

/opt/projects/yami-b2b2c/yami-shop-api/src/main/resources里面有两个文件application-dev.yml和application-prod.yml

把原来的注释,新的JDBC连接串如下

url:jdbc:postgresql://XXXXXX:15400/mytestusername:henleypassword:XXXXdriver-class-name:org.postgresql.Driver编译打包准备对代码进行编译打包,只需要在主代码下运行以下命令,这边主代码路径是/opt/projects/yami-b2b2c,当前目录下执行

mvncleanpackage-DskipTests成功执行后如下所示

自动在下面两处地方生成jar包,一个是商城后台接口,一个是商城前端接口

/opt/projects/yami-b2b2c/yami-shop-admin/target/yami-shop-admin-0.0.1-SNAPSHOT.jar

/opt/projects/yami-b2b2c/yami-shop-api/target/yami-shop-api-0.0.1-SNAPSHOT.jar

开发调试以开发的模式运行以下两个后端服务,可以获取DEBUG日志

-Dspring.profiles.active=dev意味着用开发模式运行-Dspring.profiles.active=prod意味着用生产模式运行

nohupjava-jar-Dspring.profiles.active=dev“/opt/projects/yami-b2b2c/yami-shop-admin/target/yami-shop-admin-0.0.1-SNAPSHOT.jar”>“/opt/projects/yami-b2b2c/yami-shop-admin/target/log/yami-shop-admin-console.log”&

nohupjava-jar-Dspring.profiles.active=dev“/opt/projects/yami-b2b2c/yami-shop-api/target/yami-shop-api-0.0.1-SNAPSHOT.jar”>“/opt/projects/yami-b2b2c/yami-shop-api/target/log/yami-shop-api-console.log”&

查看控制台日志输出

tail-f${PROJECT_PATH}/log/admin.log

tail-f${PROJECT_PATH}/log/api.log

启动后端服务管理平台

启动前端页面管理[root@enmoedu1mall4v-master]#npmrundev

一共有56个表

blob改成byteatinyint(2)改成smallintsmallint(10)改成smallintint(10)改成intbigint(10)改成bigintdouble(12,2)改成doubleprecisiondatetime改成date

openGauss的数据索引与MySQL的不一样

createindexIDX_QRTZ_J_REQ_RECOVERYonqrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);createindexIDX_QRTZ_J_GRPonqrtz_job_details(SCHED_NAME,JOB_GROUP);数据注释openGauss的数据注释与MySQL的不一样

openGauss要支持uuid,可以通过FUNCTION,下面定义sys_guid的FUNCTION

mytest=#\sfsys_guidCREATEORREPLACEFUNCTIONpg_catalog.sys_guid()RETURNScharactervaryingLANGUAGEsqlNOTFENCEDNOTSHIPPABLEAS$function$selectupper(md5(random()::text||clock_timestamp()::text))$function$;mytest=#selectsys_guid();sys_guid----------------------------------72F965C6E7FC0F5D547787E969D5596F(1row)mytest=#selectsys_guid();sys_guid----------------------------------3FBC1EC7357AC11BA0B06F4D116E051A(1row)mybatis的SQL表达XML由于openGauss语法对符号不识别,要把的特殊符号都去掉/opt/projects/yami-b2b2c/yami-shop-sys/src/main/resources/mapper/SysMenuMapper.xml

SysMenuMapper.xml把``的特殊符号都去掉。

举例一个增加会员的涉及的逻辑操作

点击管理员列表,再单击新增,会触发数据库新增数据,直接转发请求到后端服务yami-shop-admin

查看后端服务日志tailf/opt/projects/yami-b2b2c/yami-shop-admin/target/log/yami-shop-admin-console.log

openGauss=#\cmytest;Non-SSLconnection(SSLconnectionisrecommendedwhenrequiringhigh-security)Youarenowconnectedtodatabase"mytest"asuser"omm".mytest=#GRANTALLPRIVILEGESONTABLEtz_sys_userTOhenley;继续查看yami-shop-admin-console.log,报错变成

ERROR:nullvalueCausedby:org.postgresql.util.PSQLException:ERROR:nullvalueincolumn"id"violatesnot-nullconstraintDetail:Failingrowcontains(null,3,1).atorg.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2553)atorg.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2285)atorg.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:323)atorg.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:481)atorg.postgresql.jdbc.PgStatement.execute(PgStatement.java:401)atERROR:nullvalue原因是自增ID的问题,通过以下方法实现自增ID。

归纳一下OpenGauss3替换MySQL5.7涉及Mall4j商城系统代码需要修改的地方

THE END
1.实时成品APP直播源码有什么用:解析其应用嘲和优势11月22日,trump为啥翻译成“特朗普”,女婿有劲枪枪到底第三章奇幻小说 - 女婿有劲枪枪到底第三,热点问答|班长没带罩子让他玩儿了一天_新闻频道_云南网,萝卜影视app下载安卓版最新版-萝卜影视修复版下载2.2.4-55,独占1.v1叁_独占1.v1叁全文免费阅读_海潮文海,娘子,吃完要认账无弹窗_娘子,吃完要认...http://www.hnleader-tech.com/v/video/20241121/320043.shtml?id=462460120241121-scm
2.头条文章7月13日,东方甄选App迭代更新,上线多个直播间,“东方甄选会员店”“自营产品”2个直播间,已开启同时直播。未来,东方甄选App将开启更多直播。同时,东方甄选APP上的新品首发和APP上的好物专享首次上线(抖音上买不到),不仅部分商品是APP专享,其售卖方式也与抖音商城不同。https://card.weibo.com/article/m/show/id/2309404924792695292040
3.游戏资讯简报07期:难道这就是复古风?上百种道具搭配的2D动作RPG...在《星之卡比》30周年之际,任天堂宣布将在8月11日全球直播纪念音乐会,让全球的玩家一起同乐。活动官网中说,音乐会由35名音乐家一起演出《星之卡比》的主题曲,现场有大型屏幕播放《星之卡比》的视频,让现场观众享受一场听觉与视觉的飨宴。同时30周年纪念的期间还会在网上限时公开25周年纪念音乐会的片段为活动预热...https://ds.163.com/article/62382f2a34083600015a4f08
4.抖音电商官网短视频、直播、搜索、商城、店铺 多场景高效协同,让商家实现高转 化与强复购 打通“货找人”与“人找货”的双向消费路径 并为商家提供完整生态及产品服务,助力 商家经营提效 抖音电商知识库 全面掌握抖音电商经营官方资讯 开店必学 商家入驻经营指南 达人必学 ...https://www.douyinec.com/
1.裤叽直播,引领新一代直播风潮的探索者运动场馆灯具裤叽直播:新一代直播风潮的探索者。提供丰富多样的直播内容,紧跟潮流趋势,为用户带来全新的直播体验。注重互动与分享,打造独特的直播模式,吸引众多年轻用户的关注和参与。无论是娱乐、时尚、美食还是其他领域,裤叽直播都在不断创新突破,成为直播行业的新力量。 http://slznjs.com/post/7421.html
2.双十一购物狂欢盛宴与数字化营销革新的直播间现场直播2、数字化营销的新趋势:直播间现场直播双十一反映了数字化营销的新趋势,通过直播,商家能够更直观地展示商品特点,实时解答消费者疑问,拉近与消费者的距离,借助互联网的传播力量,直播内容能够迅速扩散,吸引更多潜在消费者。 消费者心理分析 1、社交购物的兴起:在直播间里,消费者可以实时与主播和其他观众交流,这种社交购物...http://www.lyaozi.com/post/1432.html
3.购物直播间,重塑零售业态的驱动力安全工器具随着互联网的普及和电子商务的飞速发展,购物直播间作为一种新兴的零售模式正在逐渐崭露头角,它通过直播的形式,将线上购物与实时互动相结合,为消费者带来全新的购物体验,本文将探讨购物直播间的发展历程、特点、优势以及面临的挑战,并探讨其未来的发展趋势。 http://m.sydlqc.cn/post/1134.html
4.微信小程序利物直播购物商城小程序V1.0.58完整开源解密版+小...源码介绍 【微信小程序】利物直播购物商城小程序V1.0.58完整开源解密版+小程序前端,修复上个版本缺少数据库字段无法开播的问题! 利物直播购物商城小程序,直播与购物深度结合的新体验,直播购物热度无需https://www.wazyb.com/20698.html
5.直播源博客,探索直播时代的全新互动之旅仓储服务摘要:直播源博客致力于探索直播时代的全新互动体验,为读者带来最新鲜、最热门的直播内容。你可以了解到直播行业的最新动态,发现各种有趣的直播节目,参与到实时互动中,享受全新的娱乐体验。通过直播源博客,你将开启一个全新的世界,与全球观众一起分享欢乐,共同探索这个充满无限可能的直播时代。 http://cdyxht.cn/post/1264.html
6.vm.healthgd.cn/newxr45077384/76709950.htm原政策包括:2023年9月1日以前购买的商品住房和二手住房,在办理不动产权证满两年后可上市交易。2023年...沫沫直播镜子反光录屏 日韩和的一区二区区别解析 含羞草污污污污网站 66.48MB 254好评 黄视频...淫三国关银屏本子库 MOFOS 94.67MB 91%好评696人 高H网 黄片的软件 鉴黄师免费解锁版本 42.12...http://vm.healthgd.cn/newxr45077384/76709950.htm
7.wxgcdq.cn/mdk5262410353=.mov20240729354908211194美女户外直播诱惑我抠逼喷水 103.56MB 768好评 六九黄色 91无码福利网 即使是圣洁的修女也无法净化 ...8X8X拔插拨插影库永久免费 477.53MB 397好评 免费看女主播裸舞抠逼网站 啊小穴潮吹 http://wxgcdq.cn/mdk5262410353=.mov20240729354908211194
8....包含商城sku运费模板素材库小程序直播拼团砍价...yshop意象商城系统 项目简介 yshop基于当前流行技术组合的前后端分离商城系统: SpringBoot2+MybatisPlus+SpringSecurity+jwt+redis+Vue的前后端分离的商城系统, 包含分类、sku、运费模板、素材库、小程序直播、拼团、砍价、商户管理、 秒杀、优惠券、积分、分销、会员、充值、多门店等功能,更适合企业或个人二次开发; ...https://portrait.gitee.com/SC_sc/yshopmall
9.短视频运营必备:超详细的视频号运营必备工具库慕峰新榜构建了微信公众号系列榜单和覆盖最全面的样本库,与微博、企鹅媒体平台、优酷、爱奇艺、秒拍、美拍、喜马拉雅FM、蜻蜓FM、UC、淘宝头条、网易新闻客户端、凤凰新闻客户端等超过20个中国主流内容平台签约独家或优先数据合作,进而形成中国移动端全平台内容价值标准体系。 https://www.shangyexinzhi.com/article/5283105.html
10.网经社月报6月数字零售动态回顾京东老将回归阿里巴巴换帅6月13日,苏宁易购宣布与百度电商以618为契机达成深度合作。苏宁易购全品类上百万款商品将接入百度电商,合作内容涉及搜索、直播、视频、商城等。后续双方或将共同探索智能电商领域。 i茅台累计交易额270.30亿元 6月13日下午,贵州茅台2022年年度股东大会在茅台国际大酒店举行。截至2023年6月12日, i茅台注册用户数达4179...https://emcreative.eastmoney.com/app_fortune/article/index.html?postId=1327468909
11.Java版直播商城:电商源码小程序三级分销及免费搭建方案本文探讨了使用Java、SpringBoot、MyBatis等技术构建直播商城的系统,涉及系统架构设计(前后端分离、微服务等)、营销模式分析(包括三级分销和社交电商融合)、以及移动端优化和客户服务等内容,旨在提升商城的稳定性和用户体验。 摘要由CSDN通过智能技术生成 一、技术选型 ...https://blog.csdn.net/m0_67544708/article/details/135596359
12.一文读懂如何利用TikTok全链路社群电商,破局美国地区新增长TikTok Shop的GMV由商城GMV、短视频GMV、直播GMV共同构成。 1、商城GMV增长全解: 账号运营:打造营销阵地,沉淀品牌内容,让用户互动起来。围绕品牌价值、粉丝价值和转化价值,为品牌提供阵地,树立品牌人设,沉淀品牌粉丝,提升互动和转化意愿,通过橱窗、直播、外链、站内信等形式增强粉丝转化。 https://www.cifnews.com/article/154525
13.腾讯云新用户购买云产品最新活动汇总,购买升级续费都有优惠...26、企业上云优惠商城 企业专属优惠折扣,企业用户特惠专场,为企业提供专属海量优惠福利,助力中小企业数字化转型升级。 27、高效搭建自有小程序直播 云直播/点播借助云开发预置模块,一键部署小程序直播,实现快速开播、媒资降冷。 28、TRTC SCF全景录制解决方案 ...https://www.tengxunyun8.com/4786.html
14.暗黑源码库APP源码H5区块链源码商城网站源码暗黑源码库包揽全网大多数网站源码,提供小程序、公众号、APP、H5、商城、支付、游戏、区块链、直播、影音、小说等源码教程,注册会员可免费下载。https://www.yuanmaqun.com/
15.www.yuhua二是旱情的影响范围不同。2010年的旱情影响范围覆盖整个云南省,而今年旱情仅限于滇中、滇东北和滇南部分地区。__。 141.51MB 下载APK 下载女人被操到失禁喷水视频安装你想要的应用 更方便 更快捷 发现更多 274好评(1923人) 385 详细信息 软件大小: 最新版本: ...http://www.yuhua-alu.com/ukr20240801806862571934=.mov75815261870042
16.企业直播LTD营销枢纽云官网宣发 品牌官网 私域流量营销解决方案分享和获客的新型网站 官方商城 线上营销线下引流带客增效 全网小程序 助力企业构建多应用场景低成本轻松获客 全网媒体号 获取所有媒体号内容一键分发全网 物料营销 内容中台 文章、视频、文件等内容管理安全存库,随用随取 全员社交营销 一键分享、分发和对应数据,分析更多的曝光...https://ltd.com/search?types=article&keywords=%E4%BC%81%E4%B8%9A%E7%9B%B4%E6%92%AD
17.直播功能分析51CTO博客im设计(管理员(设置、获取、禁言、踢人)、直播间礼物(获取、发送)、直播间弹窗(发送)、直播间用户列表) 家族直播关联系统(根据直播id操作家族数据、或者根据家族id获取直播数据) 家族 商城和直播关联系统 多商户商城系统() 粉丝团(专属礼物、酷炫勋章、进场特效、亲密度) ...https://blog.51cto.com/u_15968310/6097632
18.cmos.cmosfet.com/newxr62063372/76706774.htmAV天堂番号库 av手机网 锵锵锵锵锵锵 岳母中字一区 SDDE-387连续性早上生活 综合婷婷丁香 靠比较软件下载大全免费版 榨汁名器GXP白丝壁女有谁用过 8x8x 插插 XXX乱伦 中文字幕人妻被公喝醉在线 人人射国产ts 欧美人与牲动交免费CCOO 成品片a人口免费视频 人人操人人爽人人搞 狠狠操人人操 在线亚洲...https://cmos.cmosfet.com/newxr62063372/76706774.htm