SpringBoot+MyBatis+MySql从头到尾完成一个电商项目(二、项目配置)

SpringBoot网上商城项目(一) Springboot网上商城项目笔记 阅读详情

1、首先在码云上新建一个分支,企业级的开发在完成具体的每一个模块时都是在不同的分支上开发的,这儿我们也按照企业级的模式进行开发,新建分支截图如下:

 

2、在idea本地将分支切换到我们刚才新建上分支上,分别使用下面的Git命令:

      (1):git pull     //本地拉取线上分支,效果如下:

     (2):git checkout mybatis-config     //切换分支,效果如下:

现在我们就在子分支上进行项目的开发啦,到一会我还会介绍怎么把我们在子分支上写的代码合并的主分支上。

3、添加各种依赖,数据库我们选择MySql,下面添加数据库依赖:

  连接池我们选择阿里巴巴的德鲁伊连接池,添加连接池依赖如下:

添加mybatis依赖:

4、配置MyBatis

5、使用mybatis自动生成代码配置

首先在resources目录下新建一个mapping包,。

然后引入mybatis自动生成代码的插件,在pom.xml中的build中添加如下plugin:

<plugin>
   <groupId>org.mybatis.generator</groupId>
   <artifactId>mybatis-generator-maven-plugin</artifactId>
   <version>1.3.5</version>
   <dependencies>
      <dependency>
         <groupId>org.mybatis.generator</groupId>
         <artifactId>mybatis-generator-core</artifactId>
         <version>1.3.5</version>
      </dependency>
      <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>5.1.45</version>
      </dependency>
   </dependencies>
   <executions>
      <execution>
         <id>mybatis generator</id>
         <phase>package</phase>
         <goals>
            <goal>generate</goal>
         </goals>
      </execution>
   </executions>
   <!--实际编码中会反复生成,所以在这儿加几行配置-->
   <configuration>
      <!--允许移动生成的文件-->
      <verbose>true</verbose>
      <!--允许自动覆盖的文件-->
      <overwrite>true</overwrite>
      <!--mybatis generator的配置文件-->
      <configurationFile>
      <!--指定mybatis-generator.xml的路径-->
         src/main/resources/mybatis-generator.xml
      </configurationFile>
   </configuration>
</plugin>

有关解释我已经在代码中进行了注解。

6、下面我们就进行代码的自动生成。

首先在resources目录下新建一个文件mybatis-generator.xml,如下:

然后在这个xml文件里面写自动生成的代码如下:(这些代码可以去mybatis官网找,这里我找好了直接写在这儿):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!--数据库驱动-->
    <!--<classPathEntry    location="mysql-connector-java-5.0.8-bin.jar"/>-->
    <context id="DB2Tables"    targetRuntime="MyBatis3">

        <!--数据库链接地址账号密码-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/shopping"
                        userId="root"
                        password="root">
        </jdbcConnection>

        <!--生成DataObject类存放位置-->
        <javaModelGenerator targetPackage="com.topmap.dataobject" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--生成映射文件存放位置-->
        <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!--生成Dao类存放位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.topmap.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        
        <!--生成对应表及类名-->
        <table tableName="user_info" domainObjectName="UserDO"
        enableCountByExample="false"
        enableUpdateByExample="false"
        enableDeleteByExample="false"
        enableSelectByExample="false"
        selectByExampleQueryId="false">

        </table>
        <table tableName="user_password" domainObjectName="UserPasswordDO"
        enableCountByExample="false"
        enableUpdateByExample="false"
        enableDeleteByExample="false"
        enableSelectByExample="false"
        selectByExampleQueryId="false">

        </table>
       
    </context>
</generatorConfiguration>

 

这里相应的我们也要在项目的目录树下添加相应的目录,目录树如下图:

 

 

7、下面我们新建一个数据库,这里我用的是Navicat,新建的数据库和相应的表截图如下:

表的字段如下:

企业级的系统的用户密码是需要特殊存放的,这里我们在新建一个表专门用来存放用户的密码信息:

用户的密码在数据库里面是需要加密的,这是对咱们的用户负责,还有一个字段user_id是为了跟外界关联。

 

8、下面我们正式开始自动生成代码:

配置一下我们的mybatis-generator:

然后运行mybatis-generator,

运行结果如下:

目录树下出现了这些,大大省去了我们手动写的时间。

然后我们要配置连接数据库,在application.properties中配置如下:

 

最后我们要在程序的主启动口添加扫描包,在ShoppingApplication类中添加如下扫描配置,能沟通过注解的方式自动发现springboot中的一些层,截图如下:

 

到现在为止,我们关于项目的配置就都做完啦。启动一下测试

启动成功!!记得把我们在子分支上写的代码提交并且合并到主分支并且提交到线上。

(1)将我们写的代码保存到本地仓库:  git add . 

  (2) 提交:   git  commit  -m  'config'

                     git push

   (3) 合并到主分支  并将主分支代码提交到远程仓库

                 git checkout master

                git merge origin/mybatis-config

                git push

我们再去码云查看一下我们是否提交成功:

已经提交成功,这一篇文章就到这儿了,下一篇会进行系统用户模块的开发,加油!!

SpringBoot电商项目前后端界面搭建 前端:Freemarker、jQuery后端:SpringBoot、MyBatisPlus、Lombok中间件:Redis用户表:t_user商品表:t_goods订单表:t_order订单项表:t_order_item数据源表:t_dict_type数据项表:t_dict_data后续微服务秒杀项目所用:秒杀商品表:t_seckill_goods秒杀订单表:t_seckill_order二、构建SpringBoot项目起初搭建时,可以不勾选任何组件。 阅读详情

相关推荐

【JavaEE】电商秒杀项目·第2章·基础项目搭建

前言 我想整一个Android借助本地MySQL进行登录注册的功能, 奈何搜遍全网,都没看见多好的资源。 好在我是龙虾三少的关门弟子୧(๑•̀◡•́๑)૭ (哇,好厉害啊,关门弟子哎!(o)/~) 没错,我每次听他课都会把宿舍门关上O(∩_∩)O (……-_-||……) 我又看了一遍龙虾三少的《Java电商秒杀系统》 现记录一下,原因是视频时间有点长,保存成文字+截图或许会节省一点时间,防止再次...

midnight_time的博客 4477

SpringBoot+MyBatis+MySql从头到尾完成一个电商项目(五、用户注册、登录)

1、码云新建一个分支user-register 2、用户获取短信验证码otp的接口编写: 首先在UserController中注入HttpServletRequest这样我们可以拿到Session 然后写接口如下: 然后启动程序进行测试结果如下: 再看一下我们的控制台打印出来了电话和验证码,这里只是测试,正规的企业开发不能暴漏用户的验证码!! 3、下面我们通过前后端分离...

MagicMHD的博客 2809

基于Java+SpringBoot+Vue前后端分离电商项目【小米商城】

基于Java+SpringBoot+Vue前后端分离电商项目

luckypian 2650

SpringBoot实现分布式微服务电商项目第五季(含配套资料)

架构: SpringBoot + Dubbo+ Redis + ES + Nginx + FDFS + ActiveMQ 主流分布式微服务架构。本系列教程共计15季,本套教程为第五季。场景: 商品首页、商品详情、购物车、订单、支付、库存管理、全文搜索、秒杀、商家管理、分布式事务、单点登陆等 。项目架构图

【电商项目实战】基于SpringBoot完成首页搭建

"探索电商项目成功的关键因素!了解如何选择适合的技术方案、建立强大的供应链网络和提供个性化的用户体验来增加销售量。本文将深入讨论电商行业的市场趋势,并分享实用的策略与案例分析。无论是初创企业还是已经运营的电商平台,都能从中获得宝贵的经验和启示。

万维网连五洲,二进制写尽天下事,喜欢结识新伙伴寻找志同道合的朋友,欢迎一起探讨学习 2666

51单片机自学笔记(六)数码管动态扫描与消影实战

本文详细解析了51单片机数码管动态扫描原理与视觉暂留效应,通过硬件电路分析和C语言代码实战,重点介绍了三种数码管消影技术(段选清零法、位选屏蔽法、硬件消影法),解决了显示重影问题,并提供了常见问题调试技巧与定时器中断优化方案,帮助开发者掌握稳定的多位数码管显示技术。

y9z0a1b的博客 1104

Spring Boot电商项目

Spring Boot电商项目一.概述1.电商项目整体介绍(1)前台模块具体分析(2)后台模块具体分析(3) 项目演示2 . 项目开发所需工具准备二. 数据库设计于项目初始化1.表设计2. 项目的初始化3.配置log4j2日志组件4. AOP统一处理web请求日志三.用户模块的开发1.用户模块整体介绍2.API统一返回对象3.注册接口的开发4.对密码进行MD5保护5.登录、登出、更新接口的开发四.商品分类管理模块的开发1.分类模块地主要功能2.后台新增分类功能的实现3. 使用@Valid注解进行参数校验4.

weixin_50216991的博客 6956

openEuler 22.03 LTS SP4离线安装UKUI桌面全攻略(附依赖包下载)

本文提供openEuler 22.03 LTS SP4系统离线安装UKUI桌面环境的完整实战指南。针对无网络环境,详细解析了利用dnf工具下载依赖包、配置离线软件源、处理依赖冲突及安装后优化的全流程,并附带了关键依赖包资源,帮助运维人员高效完成图形化部署。

c7d8e9的博客 482

SpringBoot+MyBatis+MySql从头到尾完成一个电商项目(一、新建项目并托管到码云Git)

前言:这一段时间准备写一个基于SpringBoot+MyBatis的电商项目的从头到尾的项目,一方面使自己的代码码风更优雅,更健壮,另一方面,希望可以帮到需要这方面知识的人!非常适合有一定的SpringBoot基础,但是想做一个小项目的童鞋,废话少说,开始吧!!! 1、在idea上新建一个springboot项目,我这里新建了一个名字叫shopping的项目,项目截图如下: 2、在码云上新...

MagicMHD的博客 1598

点餐系统数据库设计--SQL Server

友情链接 1、学生成绩管理系统数据库设计–MySQL 学生成绩管理系统数据库设计–MySQL 2、医疗信息管理系统数据库–MySQL 医疗信息管理系统数据库–MySQL 3、邮件管理数据库设计–MySQL 邮件管理数据库设计–MySQL 4、SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database) SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database) 5

若如初见 8万+

【医学影像】Deep Learning for Automatic Pneumonia Detection

写在前面的话: 这篇论文是北美放射学会(RSNA)在Kaggle平台上托管的肺炎区域检测挑战赛取得第二名成绩的解决方案。因为笔者需要用到其中的图像增强方案,因此本篇博客只介绍了数据集和图像增强,关于模型的改进和其它改进点没有涉及。 论文地址:https://arxiv.org/abs/2005.13899 代码地址:https://github.com/tatigabru/kaggle-rsna 比赛地址:https://www.kaggle.com/c/rsna-pneumonia-detection-c

chenzhoujian_的博客 1567

SpringBoot+MyBatis+MySql从头到尾完成一个电商项目(三、用户模块开发之第一个接口的开发)

1、首先我们完善我们的项目结构如下图: 这里我们要注意以下dataobject(dto)和model、dao和viewobject(vo)层的区别: Model层是面向业务的,我们是通过业务来定义Model的,dao层对应于数据库中存储的数据(数据表),VO对应于页面上需要显示的数据(表单),dto是用于数据传输的,说白了就是用来放数据的,不用它来涉及逻辑操作。关于这几个领域模型的实体类我...

MagicMHD的博客 1937

CMU动作捕捉数据集实战:从AMC文件到Python可视化的完整流程

本文提供了CMU动作捕捉数据集的完整实战指南,详细解析了AMC文件格式,并对比了MATLAB转换、Python原生解析及转换为BVH格式三种数据解析策略。重点介绍了如何构建Python数据处理与可视化管道,包括将数据转换为Pandas DataFrame、绘制时间序列与相关性热力图,以及实现3D骨架动画,帮助开发者高效利用这一经典动作捕获数据集进行运动分析与模型训练。

android的专栏 716

SpringBoot+MyBatis+MySql从头到尾完成一个电商项目(四、通用返回对象的编写)

企业级接口的返回对象一般都是status+data的形式,即接口是否返回成功,以及接口返回的数据是什么,这里我们来定义一下通用的通用对象返回的格式。 1、首先在码云新建一个分支,common-api,然后在本地拉取代码,这部分内容前面讲过,这里就省略了。 2、我们新建一个package名字为response,包下面新建一个CommonReturnType的类,用来定义通用返回对象。如下图: ...

MagicMHD的博客 1554

Wider Face+YOLOV7人脸检测

使用Wider Face数据集训练YOLOV7

chen_znn的博客 8407

区块链技术与应用 【全国职业院校技能大赛国赛题目解析】Caliper从0到使用

技能大赛样题解析,caliper题目从0到使用

weixin_52865146的博客 2076

【项目实战】基于 springboot + mybatis + mysql 的电脑商城项目(附源码)

java项目||springboot项目||免费获取|| pagehelper分页、md5加密更多详情可以下载后查看 一、项目介绍 1.项目技术 2.项目数据库 3.项目截图及说明 首页及购物车模块 用户模块 登录及注册模块 二、代码部分 1.application.properties 2.UserController 3. 单元测试 三、注意事项 1.修改路径 2.分页数据设置 四、源码链接...

才下眉头n.的博客 7222

复旦微FMSH_Procise安装全流程详解:从环境配置到实战避坑指南

通过本文的全流程解析+实战技巧,开发者可快速掌握Procise在复旦微芯片开发中的核心应用。未来随着AKConv轻量级架构(参考往期文章)等创新技术的融入,国产芯片开发生态将更加完善。立即关注本专栏,获取最新多镜像切换指南与Linux SDK实战教程!扩展阅读复旦微在线升级BOOT.BIN全解析H7-TOOL实现复旦微脱机烧录(注:本文实验环境为Windows 10 x64 + FMQL45T-CORE开发板,部分操作可能因版本更新调整)立即行动下载本文配套配置文件:[GitHub链接]加入技术交流群。

QQ_778132974的博客 3238

Spring Boot+MyBatis 电商项目 -03- MySQL 连接、DRUID、MyBatis-generato 配置及测试

Spring Boot + MyBatis 电商项目 - 03- 修改端口、配置 MySQL 数据库 上一篇 Spring Boot + MyBatis 电商项目 - 02- 引入 Spring Boot 依赖包 介绍了简单的创建项目,及设置路径映射。 如果你的电脑里有很多项目,有 Eclipse 开发的,有多个 Tomcat ,或者多个版本,可能会需要修改默认的 8080 端口。 一、如果你的 ...

肖朋伟 2898

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Spring Boot + MyBatis Plus + MySQL电商项目 (一):项目简介

教程目录 Spring Boot + MyBatis Plus + MySQL电商项目 (一):项目简介 Spring Boot + MyBatis Plus + MySQL电商项目 (二):系统环境搭建 Spring Boot + MyBatis Plus + MySQL电商项目 (三):搭建静态页面 Spring Boot + MyBatis Plus + MySQL电商项目 (四):前后端数据对接 Spring Boot + MyBatis Plus + MySQL电商项目 (五):用户注册 Spri

wenqi 1616

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SpringBoot + MyBatis终极整合方案:电商项目实战演练

在当今数字化的时代,电商行业蓬勃发展,开发一个高效、稳定的电商系统是众多开发者面临的重要任务。Spring Boot 作为一款简化 Spring 应用开发的框架,与 MyBatis 这个优秀的持久层框架相结合,能够大大提高开发效率,减少开发成本。本文将通过一个电商项目的实战演练,详细介绍 Spring Boot 与 MyBatis 的终极整合方案。

梵心白莲的博客 936

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringBoot+MyBatis+MYSQL项目实战二(用户的注册和登录,添加拦截器)

接上一篇SpringBoot+MyBatis+MYSQL项目实战一(用户的注册和登录) 一:注册——前端页面

qq_51269815的博客 2190

SpringBoot+Vue前后端分离电商项目实战解析

前后端分离架构是现代Web开发的主流模式,通过将前端展示层与后端业务逻辑解耦,显著提升开发效率和系统扩展性。其核心原理是基于RESTful API进行数据交互,前端使用Vue等框架处理用户界面,后端采用SpringBoot提供数据服务。这种架构在电商系统中尤其重要,能有效支持高并发场景和快速迭代需求。本文以明星周边电商项目为例,详细讲解如何使用SpringBoot 2.7和Vue 3.x实现商品管理、订单支付等核心功能,包括MyBatis动态SQL优化、跨域解决方案等工程实践,并分享数据库设计、API规范等

weixin_33755557的博客 349

SpringBoot电商项目实战:从环境搭建到MVC架构深度解析

在Java企业级开发领域,SpringBoot以其简化配置和快速构建的特性,成为开发Web应用的主流框架。其核心原理在于通过自动配置和起步依赖,大幅降低了Spring应用的入门门槛。掌握SpringBoot整合MyBatis、Thymeleaf等技术的实战能力,对于构建可维护的电商系统具有重要价值。这类项目通常应用于毕业设计、课程实践等场景,帮助开发者理解从数据层到视图层的完整MVC协作流程。本文聚焦于一个典型的SpringBoot电商项目,详细拆解其环境配置、数据库连接以及核心业务代码的实现,特别是针对*

weixin_33978044的博客 434

SpringBoot+Vue3+MyBatis全栈电商平台架构实践

现代Web应用开发中,全栈技术架构已成为主流趋势。SpringBoot作为Java领域最流行的微服务框架,提供了强大的IoC容器和自动化配置能力;Vue3则以其响应式系统和组合式API革新了前端开发体验。在数据持久层,MyBatis通过灵活的SQL映射机制,完美平衡了开发效率与性能控制。这种技术组合特别适合电商类项目,能够有效支撑商品管理、订单处理等高并发场景。本文以手机商城系统为例,详细解析如何基于MySQL关系型数据库构建稳定可靠的数据存储方案,并分享包括Redis缓存优化、Elasticsearch搜

weixin_34208185的博客 1142

SpringBoot 电商后台管理系统项目介绍

本项目基于SpringBoot框架实现,提供了一套完整的电商后台管理系统解决方案。系统专注于用户管理和权限管理两大核心功能模块,旨在帮助开发者快速构建高效、安全的电商后台系统。通过本项目,您可以直接获得源代码以及相应的数据库脚手架,从而大大简化开发流程。 ## 功能特性 ### 用户管理 - **用户列表**: 展示所有用户的详细信息,包括ID、姓名、电话号码、邮箱、创建时间和用户状态。 -

gitblog_09707的博客 712
上一篇: SpringBoot+MyBatis+MySql从头到尾完成一个电商项目(一、新建项目并托管到码云Git)
下一篇: SpringBoot+MyBatis+MySql从头到尾完成一个电商项目(三、用户模块开发之第一个接口的开发)
MagicMHD
博客等级 码龄9年 503粉丝 78原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值