IDEA2021从零开始搭建SSM框架手把手详细教程 (一) 您所在的位置:网站首页 ssm微服务项目课程设计报告 IDEA2021从零开始搭建SSM框架手把手详细教程 (一)

IDEA2021从零开始搭建SSM框架手把手详细教程 (一)

2023-11-28 00:03| 来源: 网络整理| 查看: 265

开发环境: macos IDEA 2021

mysql8.0,  toma9.0

源码: https://download.csdn.net/download/a2267542848/19730797

1 基本环境搭建 1 新建工程

新建后整个目录如下

2 添加tomcat配置

选择tomcat server local

deployment添加artifacts exploded

war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布

war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。

从这里可以看到之后的访问路径

点击运行, 在会自动打开浏览器,如果出现下面的hello world 那证明当前环境没问题

2  加入spring 1 加入spring框架

在工程上右键, add framework support, 选择spring mvc , 会自动下载spring的库和添加WEB-INF下的配置

2 新建目录

在main 下新建java和resources, 在src下新建test/java

点击到project structure为这些文件夹添加属性

java添加sources, resources添加Resources,test/java添加Tests

设置完之后会变颜色

3 新建spring 目录

在java下新建如下的目录,test也新建  com.ssm.kirito是包名字, 这是我取的

controller是控制器

dao是mapper interface

entity是pojo

exception是异常处理

service是 服务和impl实现

util是工具

mapper是mapper xml

spring是spring配置

4 新建spring, mybatis,jdbc文件

新建配置如下图

通过如下方法添加spring xml 和jdbc.properties

5 添加依赖修改pom.xml

在pom.xml中添加如下依赖

点击这图标会自动下载

注意数据库的版本,这个在下一章会讲

ch.qos.logback logback-classic 1.1.1 mysql mysql-connector-java 8.0.25 runtime c3p0 c3p0 0.9.1.2 org.mybatis mybatis 3.3.0 org.mybatis mybatis-spring 1.2.3 taglibs standard 1.1.2 jstl jstl 1.2 com.fasterxml.jackson.core jackson-databind 2.5.4 javax.servlet javax.servlet-api 3.1.0 org.springframework spring-core 4.1.7.RELEASE org.springframework spring-beans 4.1.7.RELEASE org.springframework spring-context 4.1.7.RELEASE org.springframework spring-jdbc 4.1.7.RELEASE org.springframework spring-tx 4.1.7.RELEASE org.springframework spring-web 4.1.7.RELEASE org.springframework spring-webmvc 4.1.7.RELEASE org.springframework spring-test 4.1.7.RELEASE redis.clients jedis 2.7.3 com.dyuproject.protostuff protostuff-core 1.0.8 com.dyuproject.protostuff protostuff-runtime 1.0.8 commons-collections commons-collections 3.2 6 添加数据库的支持jdbc.properties

我用的是mysql8.0.25, 如果是低版本就用com.mysql.jdbc.Driver

数据库名字是book

注意不要用引号,不要有空格

jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/book?useSSL=true&characterEncoding=utf-8&serverTimezone=GMT jdbc.username=root jdbc.password=123 7 添加mybatis和logback支持

logback.xml 文件修改如下

%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n

mybatis-config.xml文件修改如下

8 添加spring配置

注意com.ssm.kirito替换为自己的包

spring-dao.xml修改如下

spring-service.xml修改如下

 

spring-web.xml修改如下

删除applicationContext.xml和dispatcher.servlet.xml

修改web.xml如下, 只有修改了这个 spring才有效

mvc-dispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring/spring-*.xml mvc-dispatcher / 3 编写数据库,编写DAO,control等

到目前为止,我们的环境已经搭建好了,  现在开始加入编写数据库,然后编写对象,和control, 和jsp等

1 数据库编写

可以进入到nvcat手动新建一个book的数据库, 表名字为book, 然后插入数据

也可以执行SQL语句

CREATE DATABASE `book`; USE `book`; DROP TABLE IF EXISTS `book`; CREATE TABLE `book` ( `id` int(11) NOT NULL AUTO_INCREMENT, `filename` varchar(40) NOT NULL, `fileurl` varchar(255) NOT NULL, `isdel` int(4) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; INSERT INTO `book` VALUES ('1', 'book1', '345', '0'); INSERT INTO `book` VALUES ('2', 'book2', '123', '1'); 2 新建entity POJO

book.java 

这个是上面的sql对应的对象, 这个和mapper 可以用工具生成

package com.ssm.kirito.entity; public class Book { /** * 上传的文件 */ private Integer id; /** * 文件名称 */ private String filename; /** * 文件地址 */ private String fileurl; /** * 是否删除(0否 1是) */ private Integer isdel; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getFilename() { return filename; } public void setFilename(String filename) { this.filename = filename; } public String getFileurl() { return fileurl; } public void setFileurl(String fileurl) { this.fileurl = fileurl; } public Integer getIsdel() { return isdel; } public void setIsdel(Integer isdel) { this.isdel = isdel; } } 3 新建dao 数据库操作

这是对数据库的具体操作,比如查找,插入等

dao/BookDao.java

package com.ssm.kirito.dao; import com.ssm.kirito.entity.Book; public interface BookDao { Book selectByPrimaryKey(Integer id); }

对应的具体实现resources/mapper/BookMapper.xml

id, filename, fileurl, isdel select from book where id = #{id,jdbcType=INTEGER} 4 新建service 服务

这是具体的服务

service/BookService.java

package com.ssm.kirito.service; import com.ssm.kirito.entity.Book; public interface BookService { Book findbook(Integer id); }

具体的实现 service/impl/BookServiceImpl.java

package com.ssm.kirito.service.impl; import com.ssm.kirito.dao.BookDao; import com.ssm.kirito.entity.Book; import com.ssm.kirito.service.BookService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class BookServiceImpl implements BookService { @Autowired private BookDao bookDao; @Override public Book findbook(Integer id) { return bookDao.selectByPrimaryKey(id); } } 5 新建具体web访问的接口 controller 和jsp

在web下新建jsp

WEB-INF/jsp/show.jsp

Title 展示数据 文件id:${book.id} 文件名称:${book.filename} 文件地址:${book.fileurl}

 controller/BookController.java

package com.ssm.kirito.controller; import com.ssm.kirito.entity.Book; import com.ssm.kirito.service.BookService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; @Controller @RequestMapping("/getbook") public class BookController { @Autowired private BookService bookService; @RequestMapping("test") public String getDataById(HttpServletRequest request){ Integer id = 1; Book book = bookService.findbook(id); request.setAttribute("book",book); return "show"; } }

访问路径为: /getbook/test  就会去数据库请求ID为1的数据,  就会返回show.jsp

6 运行

到此所有的工作已经完成,  平时不建议用JSP, 实际上用前后端分离

本项目代码为:  https://download.csdn.net/download/a2267542848/19730797

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有