米米商城项目笔记一(数据库表创建和项目搭建)

使用的相关技术【当前最新技术】:

IDEA:2022+

JDK:1.8

MySQL:8.0+

Maven:3.8+

Tomact:9.0+

  1. 创建数据库信息

    使用Navicat Premium软件打开xiaomissm_new_201912-4SQL语句创建想关的数据库文件信息

  2. IDEA项目搭建

    1. 创建mimissmMavenWeb项目工程

      当发现文件有缺少就及时补回来,如果使用的骨架创建的web工程,需要将原来的web.xml删除再重新添加命名不可相同,添加成功后再改回来否则web识别不了

    2. main文件下创建对应的如下包

      1. com.zcl.controller
      2. com.zcl.service
      3. com.zcl.utils

      根据平常的来发经验是不是还缺少pojo以及mapper包呢,这两个包待会会通过逆向工程来快速的创建,减少开发繁琐

    3. pom.xml文件依赖坐标的引入

      使用了集中定义版本号,方便后期的版本升级

      <!-- 集中定义依赖版本号 -->
      <properties><junit.version>4.12</junit.version><spring.version>5.2.5.RELEASE</spring.version><mybatis.version>3.5.1</mybatis.version><mybatis.spring.version>1.3.1</mybatis.spring.version><mybatis.paginator.version>1.2.15</mybatis.paginator.version><mysql.version>8.0.22</mysql.version><slf4j.version>1.6.4</slf4j.version><druid.version>1.1.12</druid.version><pagehelper.version>5.1.2</pagehelper.version><jstl.version>1.2</jstl.version><servlet-api.version>3.0.1</servlet-api.version><jsp-api.version>2.0</jsp-api.version><jackson.version>2.9.6</jackson.version>
      </properties>
      <dependencies>  <!-- spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis.spring.version}</version></dependency><dependency><groupId>com.github.miemiedev</groupId><artifactId>mybatis-paginator</artifactId><version>${mybatis.paginator.version}</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>${pagehelper.version}</version></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- 连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!-- junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency><!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><scope>provided</scope><version>${jsp-api.version}</version></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency>
      </dependencies><!-- 插件配置 -->
      <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins><!--识别所有的配置文件--><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources>
      </build>
      
  3. Spring整合MyBatis

    1. 创建jdbc.properties数据源信息

      jdbc.driver=com.mysql.cj.jdbc.Driver
      jdbc.url=jdbc:mysql://localhost:13306/xiaomissm?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
      jdbc.username=root
      jdbc.password=1234
      

      根据自己的访问连接和端口号以及账号密码进行修改为自己的,还有数据库的名称

      使用了mysql8.0以上的不配置?后面的一段配置是不能连接数据库的

    2. 创建mybatis_confing.xmlmybatis核心配置文件,配置分页插件拦截器

      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
      <configuration><!--1、配置分插件拦截器--><plugins><plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin></plugins>
      </configuration>
      

      由于spring可以整合mybatis就不在上面进行数据源的连接了

    3. spring整合mybatis的数据连接信息

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
      "><!--1、引用外部的数据源连接信息--><context:property-placeholder location="classpath:jdbc.properties"/><!--2、配置数据库连接信息--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean><!--3、创建sqlSession工厂对象--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!--绑定数据源--><property name="dataSource" ref="dataSource"/><!--加载mybatis核心配置文件--><property name="configLocation" value="classpath:mybatis_confing.xml"/></bean><!--4、配置mapper包扫描--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.zcl.mapper"/></bean>
      </beans>
      
  4. 配置applictionContext_Service.xml业务逻辑层

    当spring的配置内容过多时一般都会使用分层的方式来写,会更加的直观

    创建applictionContext_Service.xml文件进行业务逻辑层的配置

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    "><!--1、指定业务逻辑层的包扫描,当使用@Service注解类时,spring赋值创建对象--><context:component-scan base-package="com.zcl.service"/><!--2、设置事务管理器--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!--设置数据源,因为是拆分了,所以dataSource报红不需要处理--><property name="dataSource" ref="dataSource"/></bean><!--3、添加事务切面--><tx:advice id="myadvice" transaction-manager="transactionManager"><tx:attributes><!--对事务的所有方法进行声明,查询只能读取--><tx:method name="*select*" read-only="true"/><tx:method name="*find*" read-only="true"/><tx:method name="*get*" read-only="true"/><tx:method name="*search*" read-only="true"/><!--有变动的数据都需要事务--><tx:method name="*insert*" propagation="REQUIRED"/><tx:method name="*save*" propagation="REQUIRED"/><tx:method name="*add" propagation="REQUIRED"/><tx:method name="*delete*" propagation="REQUIRED"/><tx:method name="*remove*" propagation="REQUIRED"/><tx:method name="*clear*" propagation="REQUIRED"/><tx:method name="*update*" propagation="REQUIRED"/><tx:method name="*modify*" propagation="REQUIRED"/><tx:method name="*change*" propagation="REQUIRED"/><tx:method name="*set*" propagation="REQUIRED"/><!--当没有上面声明的,都支持事务控制--><tx:method name="*" propagation="SUPPORTS"/></tx:attributes></tx:advice><!--4、完成切面和切入点的织入--><aop:config><!--service包下的所有类所有方法,任意参数都最佳事务织入--><aop:pointcut id="mypointcut" expression="execution(* com.zcl.service.*.*(..))"/><aop:advisor advice-ref="myadvice" pointcut-ref="mypointcut"/></aop:config>
    </beans>
    
  5. 配置Spring_mvc核心配置文件

    创建spring_mvc.xml核心配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
    "><!--1、设置controller包扫描器--><context:component-scan base-package="com.zcl.controller"/><!--2、设置视图解析器--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--设置访问前缀--><property name="prefix" value="/admin/"/><!--设置访问后缀--><property name="suffix" value=".jsp"/></bean><!--3、设置文件上传核心组件,id名称是绝对的,不能改--><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean><!--4、设置注解驱动--><mvc:annotation-driven/></beans>
    
  6. 配置web.xml文件的开发

    1. 添加字符编码过滤器【放在第一位】
    2. 注册springmvc容器
    3. 注册spring容器
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--1、添加字符编码过滤器--><filter><filter-name>encode</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!--转换的编码格式--><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><!--请求的强张转换--><init-param><param-name>forceRequestEncoding</param-name><param-value>true</param-value></init-param><!--响应的强制转换--><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encode</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--2、注册spring_mvc框架--><servlet><servlet-name>spring_mvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--指定spring_mvc配置信息--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring_mvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>spring_mvc</servlet-name><!--有多种方式拦截--><url-pattern>*.action</url-pattern></servlet-mapping><!--3、注册spring框架--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applictionContext_*.xml</param-value></context-param>
    </web-app>
    

    当监听了applictionContext文件之后,在sprin的其他配置文件中配置的dataSource也不会包红了

  7. 逆向工程生成pojomapper文件

    1. 复制MyBatis逆向工程文件夹里面的内容到没有中文路径的盘下
    2. 在IDEA中打开文件
    3. 修改generatorConfig.xml文件
      1. 修改数据库连接方式
      2. 修改生成实体类pojomapper的类的路径
      3. 指定生成的数据库
    4. 将原来生成的src文件下的删除掉
    5. 运行GeneratorSqlmap类里面的main方法进行生成
    6. 将生成的pojomapper文件拷贝到自己的项目中使用即可
  8. MD5登录加密算法

    复制MD5Util.java工具类到工具包utils

    创建测试类查看是否可以加密成功

    package com.zcl.Test;import com.zcl.utils.MD5Util;
    import org.junit.Test;/*** 项目名称:mimissm* 描述:MD5加密测试类** @author zhong* @date 2022-05-12 10:42*/
    public class MD5Test {@Testpublic void test1(){String md5 = MD5Util.getMD5("000000");System.out.println(md5);// c984aed014aec7623a54f0591da07a85fd4b762d}
    }

    将加密的内容复制到数据库用户密码中存储,后面将使用这个密码来登录

SSM米米商城项目笔记一(数据库表创建和项目搭建)相关推荐

  1. 基于ssm的蛋糕商城系统(源代码+数据库+带6000字报告)615

    部分代码地址 https://gitee.com/ynwynwyn/cakeShop-public 基于ssm的蛋糕商城系统(源代码+数据库+带1万字报告) 一.系统介绍 本项目分为前后台,分为管理员 ...

  2. hibernate 读取mysql表结构_为什么要用hibernate 与基于数据库表结构的项目开发

    最近开始学习hibernate,其实并不知道要学习什么,有什么用.后来问了一下同事,他就说快捷方便简单,很多事情不用自己做他会帮你做好,但是我觉得不应该是这样的, 于是我就去搜了一下,就搜到了一篇帖子 ...

  3. 尝试设计出“网易新闻模块”(或者其他感兴趣项目)的数据库表结构

    一.尝试设计出"网易新闻模块"(或者其他感兴趣项目)的数据库表结构 完成时间:2020.11.19 项目环境:MySQL.Navicat.Win10: 思路 1.首先将网页简单分为 ...

  4. 【超详细Django网站开发过程2】便利店管理系统之——创建数据库→定义数据库表→创建数据库表

    假装自己拥有一家小便利店,名叫--7-Twelve,我希望制作一个便利店管理系统对我的顾客.销售人员.货物等数据进行管理,先不管前端,后端总免不了对数据的一顿操作,那如何在Django中对数据库进行增 ...

  5. vs2017c语言没有空项目,「vs2017新建项目」visual studio 2017 创建空项目和桌面向导下的空项目...

    vs2017新建项目: visual studio 2017 创建空项目和桌面向导下的空项目 用VS2013编写和调试C语言程序,首先应建立项目工程.文件-->新建-->项目在 新建项目窗 ...

  6. 美多商城项目:商品数据库表设计、准备商品数据、首页广告、商品列表页

    一.商品数据库表设计 1.1 SPU和SKU 在电商中对于商品,有两个重要的概念:SPU和SKU 1. SPU介绍 SPU = Standard Product Unit (标准产品单位) SPU是商 ...

  7. 涨薪神作,阿里内部火爆的实战文档和搭建项目笔记,你还怕没有项目可做吗

    前言 认识一个事物最好的方式就是首先去了解它的历史. 随着Spring功能的不断丰富,版本的不断迭代发展,Spring 框架渐渐暴露出了一些问题和弊端.例如太多样板化的配置.繁琐复杂的使用过程等,我们 ...

  8. GitHub轻松阅读微服务实战项目流程详解【第一天:数据库表设计及其环境搭建、项目运行】

    One Day 1.数据库表详解 2.项目环境准备 github地址:https://github.com/Zealon159/light-reading-cloud 项目服务端主要使用SpringB ...

  9. Django项目如何生成数据库表

    目录 背景 项目生成表 背景 有的sql脚本在你的本地是不能执行成功的,但是我们需要数据库表,那么就需要利用项目生成数据库表,但是生成的表里面什么东西都没有,需要自己创建 项目生成表 首先打开Djan ...

最新文章

  1. ThreeJS 屏幕坐标与世界坐标互转
  2. Mysql跨机房同步方案
  3. Ansible9:条件语句【转】
  4. Xen的network-bridge模式
  5. 看完这篇文章你还敢说你懂JVM吗?
  6. java--GC Root有哪些
  7. 【Python基础】Pandas参数设置的八个小技巧
  8. 如何在客户端清除fileUpLoad控件的文件路径
  9. share团队冲刺3
  10. Eclipse 好用常用插件集合
  11. SVN commit failed: 'xxx' is not under version control
  12. android个人日记本论文,个人心情日记本的设计与实现论文.doc
  13. java计算机毕业设计运动会管理系统源码+mysql数据库+系统+lw文档+部署
  14. php里无法找到该网页,thinkphp搭建网站后端,入口文件找不到(无法加载)
  15. 为何觉得静态ip比动态ip的网速更快
  16. Yolo 一小时学会基本操作
  17. BZOJ 2751: [HAOI2012]容易题(easy)( )
  18. Tencent Kona JDK11无暂停内存管理ZGC生产实践
  19. 某缓存系统采用LRU淘汰算法,假定缓存容量为4,并且初始为空,那么在顺序访问以下数据项的时候,1、5、1、3、5、2、4、1、2,出现缓存直接命中的次数是(),最后缓存中即将准备淘汰的数据项是()
  20. 深度分析拼多多的首场618战事:“猫拼狗“的快打旋风

热门文章

  1. jquery 定时器控制
  2. 互联网公司开工红包大比拼!许多大厂竟然被一家保险公司碾压!
  3. python 协程库_python协程概念
  4. 《Java并发编程实践》笔记6——并发性调优
  5. 用py写了个针对淘宝的抢购程序(清空购物车)
  6. R实战:【实战分析】大盘历年几月是行情?
  7. 10进制转8进制怎么转?
  8. 三星相机数据恢复,数码相机照片删除怎么恢复
  9. 文件流导出excel表格
  10. 领扣LintCode问题答案-17. 子集