SSM米米商城项目笔记一(数据库表创建和项目搭建)
米米商城项目笔记一(数据库表创建和项目搭建)
使用的相关技术【当前最新技术】:
IDEA:2022+
JDK:1.8
MySQL:8.0+
Maven:3.8+
Tomact:9.0+
创建数据库信息
使用
Navicat Premium
软件打开xiaomissm_new_201912-4
SQL语句创建想关的数据库文件信息IDEA项目搭建
创建
mimissm
MavenWeb项目工程当发现文件有缺少就及时补回来,如果使用的骨架创建的web工程,需要将原来的
web.xml
删除再重新添加命名不可相同,添加成功后再改回来
否则web识别不了在
main
文件下创建对应的如下包- com.zcl.controller
- com.zcl.service
- com.zcl.utils
根据平常的来发经验是不是还缺少
pojo
以及mapper
包呢,这两个包待会会通过逆向工程
来快速的创建,减少开发繁琐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>
Spring整合MyBatis
创建
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以上的不配置?后面的一段配置是不能连接数据库的
创建
mybatis_confing.xml
mybatis核心配置文件,配置分页插件拦截器<?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就不在上面进行数据源的连接了
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>
配置
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>
配置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>
配置web.xml文件的开发
- 添加字符编码过滤器【放在第一位】
- 注册springmvc容器
- 注册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
也不会包红了逆向工程生成
pojo
和mapper
文件- 复制
MyBatis逆向工程
文件夹里面的内容到没有中文路径的盘下 - 在IDEA中打开文件
- 修改
generatorConfig.xml
文件- 修改数据库连接方式
- 修改生成实体类
pojo
和mapper
的类的路径 - 指定生成的数据库
- 将原来生成的
src
文件下的删除掉 - 运行
GeneratorSqlmap
类里面的main
方法进行生成 - 将生成的
pojo
和mapper
文件拷贝到自己的项目中使用即可
- 复制
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米米商城项目笔记一(数据库表创建和项目搭建)相关推荐
- 基于ssm的蛋糕商城系统(源代码+数据库+带6000字报告)615
部分代码地址 https://gitee.com/ynwynwyn/cakeShop-public 基于ssm的蛋糕商城系统(源代码+数据库+带1万字报告) 一.系统介绍 本项目分为前后台,分为管理员 ...
- hibernate 读取mysql表结构_为什么要用hibernate 与基于数据库表结构的项目开发
最近开始学习hibernate,其实并不知道要学习什么,有什么用.后来问了一下同事,他就说快捷方便简单,很多事情不用自己做他会帮你做好,但是我觉得不应该是这样的, 于是我就去搜了一下,就搜到了一篇帖子 ...
- 尝试设计出“网易新闻模块”(或者其他感兴趣项目)的数据库表结构
一.尝试设计出"网易新闻模块"(或者其他感兴趣项目)的数据库表结构 完成时间:2020.11.19 项目环境:MySQL.Navicat.Win10: 思路 1.首先将网页简单分为 ...
- 【超详细Django网站开发过程2】便利店管理系统之——创建数据库→定义数据库表→创建数据库表
假装自己拥有一家小便利店,名叫--7-Twelve,我希望制作一个便利店管理系统对我的顾客.销售人员.货物等数据进行管理,先不管前端,后端总免不了对数据的一顿操作,那如何在Django中对数据库进行增 ...
- vs2017c语言没有空项目,「vs2017新建项目」visual studio 2017 创建空项目和桌面向导下的空项目...
vs2017新建项目: visual studio 2017 创建空项目和桌面向导下的空项目 用VS2013编写和调试C语言程序,首先应建立项目工程.文件-->新建-->项目在 新建项目窗 ...
- 美多商城项目:商品数据库表设计、准备商品数据、首页广告、商品列表页
一.商品数据库表设计 1.1 SPU和SKU 在电商中对于商品,有两个重要的概念:SPU和SKU 1. SPU介绍 SPU = Standard Product Unit (标准产品单位) SPU是商 ...
- 涨薪神作,阿里内部火爆的实战文档和搭建项目笔记,你还怕没有项目可做吗
前言 认识一个事物最好的方式就是首先去了解它的历史. 随着Spring功能的不断丰富,版本的不断迭代发展,Spring 框架渐渐暴露出了一些问题和弊端.例如太多样板化的配置.繁琐复杂的使用过程等,我们 ...
- GitHub轻松阅读微服务实战项目流程详解【第一天:数据库表设计及其环境搭建、项目运行】
One Day 1.数据库表详解 2.项目环境准备 github地址:https://github.com/Zealon159/light-reading-cloud 项目服务端主要使用SpringB ...
- Django项目如何生成数据库表
目录 背景 项目生成表 背景 有的sql脚本在你的本地是不能执行成功的,但是我们需要数据库表,那么就需要利用项目生成数据库表,但是生成的表里面什么东西都没有,需要自己创建 项目生成表 首先打开Djan ...
最新文章
- ThreeJS 屏幕坐标与世界坐标互转
- Mysql跨机房同步方案
- Ansible9:条件语句【转】
- Xen的network-bridge模式
- 看完这篇文章你还敢说你懂JVM吗?
- java--GC Root有哪些
- 【Python基础】Pandas参数设置的八个小技巧
- 如何在客户端清除fileUpLoad控件的文件路径
- share团队冲刺3
- Eclipse 好用常用插件集合
- SVN commit failed: 'xxx' is not under version control
- android个人日记本论文,个人心情日记本的设计与实现论文.doc
- java计算机毕业设计运动会管理系统源码+mysql数据库+系统+lw文档+部署
- php里无法找到该网页,thinkphp搭建网站后端,入口文件找不到(无法加载)
- 为何觉得静态ip比动态ip的网速更快
- Yolo 一小时学会基本操作
- BZOJ 2751: [HAOI2012]容易题(easy)( )
- Tencent Kona JDK11无暂停内存管理ZGC生产实践
- 某缓存系统采用LRU淘汰算法,假定缓存容量为4,并且初始为空,那么在顺序访问以下数据项的时候,1、5、1、3、5、2、4、1、2,出现缓存直接命中的次数是(),最后缓存中即将准备淘汰的数据项是()
- 深度分析拼多多的首场618战事:“猫拼狗“的快打旋风