IDEA2021从零开始搭建SSM框架手把手详细教程 (一) | 您所在的位置:网站首页 › ssm微服务项目课程设计报告 › IDEA2021从零开始搭建SSM框架手把手详细教程 (一) |
开发环境: macos IDEA 2021 mysql8.0, toma9.0 源码: https://download.csdn.net/download/a2267542848/19730797 新建后整个目录如下 选择tomcat server local deployment添加artifacts exploded war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布 war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。 从这里可以看到之后的访问路径 点击运行, 在会自动打开浏览器,如果出现下面的hello world 那证明当前环境没问题 在工程上右键, add framework support, 选择spring mvc , 会自动下载spring的库和添加WEB-INF下的配置 在main 下新建java和resources, 在src下新建test/java 点击到project structure为这些文件夹添加属性 java添加sources, resources添加Resources,test/java添加Tests 设置完之后会变颜色 在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 在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%nmybatis-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等 可以进入到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这个是上面的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 实验室设备网 版权所有 |