当前位置:   article > 正文

【SpringBoot项目】SpringBoot+MyBatis+MySQL电脑商城_springboot+mybatis+mysql电脑商城项目实战

springboot+mybatis+mysql电脑商城项目实战

在b站听了袁老师的开发课,做了一点笔记。

01-项目环境搭建_哔哩哔哩_bilibili

基于springboot框架的电脑商城项目(一)_springboot商城项目_失重外太空.的博客-CSDN博客

项目环境搭建

1.项目分析

1.项目功能:登录、注册、热销商品、用户管理(密码、个人信息、头像、收货地址)、购物车(展示、增加、删除) 、订单模块。
2.开发顺序:注册、登录、用户管理、购物车、商品、订单模块。
3.某一个模块的开发

  • 持久层开发:依据前端页面的设置规划相关的SQL语句,以及进行配置
  • 业务层开发:核心功能控制、业务操作以及异常的处理
  • 控制层开发: 接受请求、处理响应
  • 前端开发: JS、Query、AJAX这些技术来连接后台

2.开发环境

  • JDK: 1.8版本及以上的版本
  • maven:配置到idea,3.6.1版本
  • 数据库: MariaDB、MySQL,要求是5.1及以上的版本
  • 开发的平台: idea开发

3.搭建项目

1.项目名称:store

2.结构:com.cy.store

java web

mybatis

mysql driver

3.资源文件:resource文件夹下(static放静态资源、templates模板)

4.单元测试:test.com.cy.store

5.在properties文件中配置数据的连接源信息

  1. spring.datasource.url=jdbc:mysql://localhost:3306/store?useUnicode=true&characterEncoding=utf-8
  2. spring.datasource.username=root
  3. spring.datasource.password=root

6.创建一个store数据库

create database store character set utf8;

7.测试连接:

  • 启动SpringBoot主类,是否有对应的Spring图形输出
  • 在单元测试类中测试数据库的连接是否可以正常的加载

数据库连接池:
1.DBCP
2.C3P0
3.Hikari: 管理数据库的连接对象

8.访问项目的静态资源是否可以正常的加载。所有的静态资源复制static目录下。

注意:idea对于JS代码的兼容性较差,编写了js代码可能不能正常加载。五种解决:在项目的maven下clear清理项目、install重新部署;在项目的file选项下 cash清理缓存;重新构建项目:build选项下 rebuild选项;重启idea;重启电脑。

用户注册

1.创建数据表

  1. CREATE TABLE t_user (
  2. uid INT AUTO_INCREMENT COMMENT '用户id',
  3. username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名',
  4. password CHAR(32) NOT NULL COMMENT '密码',
  5. salt CHAR(36) COMMENT '盐值',
  6. phone VARCHAR(20) COMMENT '电话号码',
  7. email VARCHAR(30) COMMENT '电子邮箱',
  8. gender INT COMMENT '性别:0-女,1-男',
  9. avatar VARCHAR(50) COMMENT '头像',
  10. is_delete INT COMMENT '是否删除:0-未删除,1-已删除',
  11. created_user VARCHAR(20) COMMENT '日志-创建人',
  12. created_time DATETIME COMMENT '日志-创建时间',
  13. modified_user VARCHAR(20) COMMENT '日志-最后修改执行人',
  14. modified_time DATETIME COMMENT '日志-最后修改时间',
  15. PRIMARY KEY (uid)
  16. ) ENGINE=INNODB DEFAULT CHARSET=utf8;

2.创建用户的实体类

2.1通过表的结构提取表的公共字段,放在实体类的基类中

  1. public class baseEntity implements Serializable {
  2.     private String createdUser;
  3.     private Date createdTime; //import java.util.Data
  4.     private String modifiedUser;
  5.     private Date modifiedTime;
  6. //再手动声明get、set方法,equals() and hashCode();toString();
  7. }

为什么要用implements Serializable:实体类User因为要在网络中以流的形式传输,所以需要serialize序列化(为什么要用implements Serializable_IT_wjj的博客-CSDN博客

2.2创建用户的实体类,需要继承baseEntity基类

  1. public class User extends baseEntity implements Serializable {
  2. private Integer uid;
  3. private String username;
  4. private String password;
  5. private String salt;
  6. private String phone;
  7. private String email;
  8. private Integer gender;
  9. private String avatar;
  10. private Integer isDelete;
  11. //再手动声明get、set方法,equals() and hashCode();toString();
  12. }

任何实体类都要:get和set方法、equals()和hashCode()、toString()

3.注册-持久层

通过MyBatis来操作数据库。在做mybatis开发的流程。

3.1规划需要执行的SQL语句

1.用户的注册功能,相当于在做数据的插入操作。

insert into t_user (username, password) values (值列表)

2.在用户注册时首先查询当前用户名是否存在,如果存在则不能注册,相当于一条查询语句。

select * from t_user where username=?

3.2设计接口和抽象方法

1.定义Mapper接口。在项目的目录结构下创建一个mapper包,在这个包下根据不同的功能模块创建mapper接口。创建UserMapper的接口(interface)。要在接口中定义这两个SQL语句的抽象方法。

  1. package com.cy.store.mapper;
  2. import com.cy.store.entity.User;
  3. /
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/860059
推荐阅读
相关标签
  

闽ICP备14008679号