博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssmbuild
阅读量:3966 次
发布时间:2019-05-24

本文共 10904 字,大约阅读时间需要 36 分钟。

ssm整合

环境要求

  • IDEA
  • MySQL 5.7.19
  • Tomcat 9
  • Maven 3.6

环境准备

  1. 创建数据库
CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS `books`;CREATE TABLE `books` (`bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',`bookName` VARCHAR(100) NOT NULL COMMENT '书名',`bookCounts` INT(11) NOT NULL COMMENT '数量',`detail` VARCHAR(200) NOT NULL COMMENT '描述',KEY `bookID` (`bookID`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT  INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES (1,'Java',1,'从入门到放弃'),(2,'MySQL',10,'从删库到跑路'),(3,'Linux',5,'从进门到进牢');
  1. 创建一个web Maven 项目
    1. 导入pom依赖
junit
junit
4.12
mysql
mysql-connector-java
5.1.47
com.mchange
c3p0
0.9.5.2
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.2
javax.servlet
jstl
1.2
org.mybatis
mybatis
3.5.2
org.mybatis
mybatis-spring
2.0.2
org.springframework
spring-webmvc
5.1.9.RELEASE
org.springframework
spring-jdbc
5.1.9.RELEASE
org.projectlombok
lombok
1.16.10

2.Maven资源过滤配置

src/main/java
**/*.properties
**/*.xml
false
src/main/resources
**/*.properties
**/*.xml
false

3.创建基本结构和配置框架

  • com.jsp.pojo

  • com.jsp.dao

  • com.jsp.service

  • com.jsp.controller

  • mybatis-config.xml

  • applicationContext.xml(Springbean文件)

3.Mybatis层编写

1.数据库配置文件 : database.properties

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=false&characterEncoding=utf8jdbc.username=rootjdbc.password=****
2.编写Mybatis的核心配置文件
3.编写实体类
package com.jsp.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data //get set 方法 toString 方法@AllArgsConstructor //有参构造@NoArgsConstructor	//无参构造public class Books {      private int bookID;   private String bookName;   private int bookCounts;   private String detail;   }

4.编写Dao层的Mapper接口

package com.jsp.dao;import com.jsp.pojo.Books;import java.util.List;public interface BookMapper {   //增加一个Book   int addBook(Books book);   //根据id删除一个Book   int deleteBookById(int id);   //更新Book   int updateBook(Books books);   //根据id查询,返回一个Book   Books queryBookById(int id);   //查询全部Book,返回list集合   List
queryAllBook();}

5.编写接口对应的Mapper.xml配置文件

insert into ssmbuild.books(bookName,bookCounts,detail) values (#{bookName}, #{bookCounts}, #{detail})
delete from ssmbuild.books where bookID=#{bookID}
update ssmbuild.books set bookName = #{bookName},bookCounts = #{bookCounts},detail = #{detail} where bookID = #{bookID}

6.编写Service层和接口的实现类

interface :

package com.jsp.service;import com.jsp.pojo.Books;import java.util.List;//BookService:底下需要去实现,调用dao层public interface BookService {   //增加一个Book   int addBook(Books book);   //根据id删除一个Book   int deleteBookById(int id);   //更新Book   int updateBook(Books books);   //根据id查询,返回一个Book   Books queryBookById(int id);   //查询全部Book,返回list集合   List
queryAllBook();}
Implements :
package com.jsp.service;import com.jsp.dao.BookMapper;import com.jsp.pojo.Books;import java.util.List;public class BookServiceImpl implements BookService {   //调用dao层的操作,设置一个set接口,方便Spring管理   private BookMapper bookMapper;   public void setBookMapper(BookMapper bookMapper) {       this.bookMapper = bookMapper;  }      public int addBook(Books book) {       return bookMapper.addBook(book);  }      public int deleteBookById(int id) {       return bookMapper.deleteBookById(id);  }      public int updateBook(Books books) {       return bookMapper.updateBook(books);  }      public Books queryBookById(int id) {       return bookMapper.queryBookById(id);  }      public List
queryAllBook() { return bookMapper.queryAllBook(); }}

4.Spring层

1. 配置Spring整合MyBatis,我们这里数据源使用c3p0连接池
2. 我们去编写Spring整合Mybatis的相关的配置文件;spring-dao.xml

spring-dao.xml
Spring整合service层	spring-service.xml

5.SpringMVC层

1.web.xml

DispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:applicationContext.xml
1
DispatcherServlet
/
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
/*
15

2.spring-mvc.xml

3.Spring配置文件 applicationContext.xml

配置文件完成

  • 开始写业务代码
    1.编写Controller类 : 方法一 :查询全部书籍
@Controller@RequestMapping("/book")public class BookController {   @Autowired   @Qualifier("BookServiceImpl")   private BookService bookService;   @RequestMapping("/allBook")   public String list(Model model) {       List
list = bookService.queryAllBook(); model.addAttribute("list", list); return "allBook"; }}
2.编写首页 index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>   首页   

点击进入列表页

3.书籍列表页面 allbook.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ page contentType="text/html;charset=UTF-8" language="java" %>   书籍列表   
书籍编号 书籍名字 书籍数量 书籍详情 操作
${book.getBookID()} ${book.getBookName()} ${book.getBookCounts()} ${book.getDetail()} 更改 | 删除
4.编写BookController类 : 方法二 :添加书籍
@RequestMapping("/toAddBook")public String toAddPaper() {   return "addBook";}@RequestMapping("/addBook")public String addPaper(Books books) {   System.out.println(books);   bookService.addBook(books);   return "redirect:/book/allBook";}
5.添加书籍页面 : addBook.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ page contentType="text/html;charset=UTF-8" language="java" %>   新增书籍   
书籍名称:
书籍数量:
书籍详情:
6.编写BookController类 : 方法三 : 修改书籍
@RequestMapping("/toUpdateBook")public String toUpdateBook(Model model, int id) {   Books books = bookService.queryBookById(id);   System.out.println(books);   model.addAttribute("book",books );   return "updateBook";}@RequestMapping("/updateBook")public String updateBook(Model model, Books book) {   System.out.println(book);   bookService.updateBook(book);   Books books = bookService.queryBookById(book.getBookID());   model.addAttribute("books", books);   return "redirect:/book/allBook";}
7.修改书籍页面 : updateBook.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ page contentType="text/html;charset=UTF-8" language="java" %>   修改信息   
书籍名称:
书籍数量:
书籍详情:
8.编写BookController类 : 方法四:删除书籍
@RequestMapping("/del/{bookId}")public String deleteBook(@PathVariable("bookId") int id) {   bookService.deleteBookById(id);   return "redirect:/book/allBook";}
  1. 编写BookController类 : 方法五:搜索查询
    1. 编写dao接口里的方法 : queryBookByName
Books queryBookByName(@Param("bookName") String bookName);
2.在Mapper.xml配置queryBookByName方法
3.在Service层添加queryBookByName方法
//根据书名查询,返回一个Book    Books queryBookByName(String bookName);
4.实现类
public Books queryBookByName(String bookName) {        return bookMapper.queryBookByName(bookName);    }
5.Controller里添加queryBookByName方法
@RequestMapping("/queryBook")    public String queryBook(String queryBookName,Model model){        System.out.println("要查询的书籍:"+queryBookName);        //业务逻辑还没有写        Books books = bookService.queryBookByName(queryBookName);        List
list = new ArrayList
(); list.add(books); if (books == null) { list = bookService.queryAllBook(); model.addAttribute("error", "未查到"); } model.addAttribute("list", list); return "allBook"; }
你可能感兴趣的文章
linux-详细解析密码文件passwd与shadow
查看>>
su- 与su的区别
查看>>
linux下发邮件mail
查看>>
echo如何手动输出换行
查看>>
身份证的正确使用方法——非常重要的知识
查看>>
ExtJS & Ajax
查看>>
Tomcat在Windows下的免安装配置
查看>>
JMeter常用测试元件
查看>>
JMeter——使用技巧
查看>>
Hibernate 实体层设计--Table per subclass
查看>>
Ruby解决方案:The 'ffi' native gem requires installed build tools ; 含最新DevKit下载地址
查看>>
Python之操作MySQL数据库(二)
查看>>
简单介绍如何使用robotium进行自动化测试
查看>>
Python之操作XML文件
查看>>
eclipse+ADT 进行android应用签名详解
查看>>
Robotium只有apk文件例如Music.apk
查看>>
UI自动化测试框架对比(二)
查看>>
Selenium-webdriver系列教程(9)——如何操作select下拉框
查看>>
Selenium-webdriver系列教程(10)——如何智能的等待页面加载完成
查看>>
Robotium测试NotePad(一)
查看>>