SSM整合(狂神版

您所在的位置:网站首页 狂神说ssm整合 SSM整合(狂神版

SSM整合(狂神版

2024-04-05 14:14| 来源: 网络整理| 查看: 265

我的项目环境 IDEA 2022Mysql 8.0.29Tomcat 9Maven 3.8.6 创建数据库表(在ssmbuid数据库里) CREATE TABLE books ( bookID int NOT NULL AUTO_INCREMENT, bookName varchar(100) NOT NULL, bookCounts int NOT NULL, details varchar(200) NOT NULL, PRIMARY KEY (bookID) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb3; INSERT INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES (1,'Java',1,'从入门到放弃'), (2,'MySQL',10,'从删库到跑路'), (3,'Linux',5,'从进门到进牢'); 项目环境搭建

1.创建普通Maven项目ssmBuild-test

 2.在项目的pom.xml文件里面导入相关依赖和设置静态资源过滤(确保所有配置文件能够成功导出)

junit junit 4.13.2 test mysql mysql-connector-java 8.0.29 com.mchange c3p0 0.9.5.2 javax.servlet servlet-api 2.5 javax.servlet.jsp jsp-api 2.2 org.mybatis mybatis 3.5.11 org.mybatis mybatis-spring 2.0.7 javax.servlet jstl 1.2 org.springframework spring-webmvc 5.3.23 org.springframework spring-jdbc 5.3.23

 注意:这里还有一个重要的操作,不然可能会出现404错误:

 静态资源过滤:

src/main/java **/*.properties **/*.xml false src/main/resources **/*.properties **/*.xml false 建立基本结构

Mybatis层编写 

1.数据库配置文件databases.properties

jdbc.driver = com.mysql.cj.jdbc.Driver jdbc.url = jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=UTF-8 jdbc.username = root jdbc.password = root

 2.IDEA关联数据库

 

 3.编写Mybatis核心配置文件(mybatis-config.xml)

4.编写数据库对应的实体类com.pojo.Books,可以使用lombok插件

package com.pojo; public class Books { public int bookID; public String bookName; public int bookCounts; public String details; public Books(int bookID, String bookName, int bookCounts, String details) { this.bookID = bookID; this.bookName = bookName; this.bookCounts = bookCounts; this.details = details; } public Books() { } public int getBookID() { return bookID; } public void setBookID(int bookID) { this.bookID = bookID; } public String getBookName() { return bookName; } public void setBookName(String bookName) { this.bookName = bookName; } public int getBookCounts() { return bookCounts; } public void setBookCounts(int bookCounts) { this.bookCounts = bookCounts; } public String getDetails() { return details; } public void setDetails(String details) { this.details = details; } @Override public String toString() { return "Books{" + "bookID=" + bookID + ", bookName='" + bookName + '\'' + ", bookCounts=" + bookCounts + ", details='" + details + '\'' + '}'; } }

5.编写Dao层的Mapper接口(BookMapper)

package com.dao; import com.pojo.Books; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 增删改查 */ public interface BookMapper { //增加一本书 int addBook(Books book); //删除一本书 int deleteBook(@Param("bookID") int ID); //修改一本书 int updateBook(Books book); //查询一本书 Books queryBookItem(@Param("bookID") int ID); //查询全部书籍 List queryAllBooks(); }

6.编写接口对应的Mapper.xml文件(BookMapper.xml)

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

 7.编写Service层的接口(BookService)和实现类(BookServiceImpl)

package com.service; import com.pojo.Books; import java.util.List; public interface BookService { //增加一本书 int addBook(Books book); //删除一本书 int deleteBook(int ID); //修改一本书 int updateBook(Books book); //查询一本书 Books queryBookItem(int ID); //查询全部书籍 List queryAllBooks(); } package com.service; import com.dao.BookMapper; import com.pojo.Books; import java.util.List; public class BookServiceImpl implements BookService { /*组合,service层调用dao层*/ public BookMapper bookMapper; public void setBookMapper(BookMapper bookMapper) { this.bookMapper = bookMapper; } @Override public int addBook(Books book) { return bookMapper.addBook(book); } @Override public int deleteBook(int ID) { return bookMapper.deleteBook(ID); } @Override public int updateBook(Books book) { return bookMapper.updateBook(book); } @Override public Books queryBookItem(int ID) { return bookMapper.queryBookItem(ID); } @Override public List queryAllBooks() { return bookMapper.queryAllBooks(); } } 编写Spring层

1.配置Spring整合Mybatis,这里的数据源使用c3p0连接池——编写相关配置文件:spring-dao.xml

2.Spring整合service层

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

Controller和视图层编写

1.Controller层编写(com.controller.BookController)

package com.controller; import com.pojo.Books; import com.service.BookService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import java.util.List; @Controller @RequestMapping("/book") public class BookController { @Autowired @Qualifier("BookServiceImpl") private BookService bookService; //查询全部书籍 @RequestMapping("/allBook") public String list(Model model) { List books = bookService.queryAllBooks(); model.addAttribute("list",books); return "allBook"; } //跳转到更新书籍页面 @RequestMapping("/toUpdateBook") public String update(Model model,int id) { Books book = bookService.queryBookItem(id); model.addAttribute("book",book); return "toUpdateBook"; } //保存更新书籍 @RequestMapping("/saveBook") public String saveBook(Model model,Books book) { int code = bookService.updateBook(book); List books = bookService.queryAllBooks(); model.addAttribute("list",books); return "redirect:allBook"; } //删除书籍 @RequestMapping("/del/{bookID}") public String deleteBook(Model model,@PathVariable("bookID") int id) { int code = bookService.deleteBook(id); return "redirect:/book/allBook"; } //跳转到增加书籍页面 @RequestMapping("/toAddBook") public String addBook() { return "addBook"; } //保存新增书籍 @RequestMapping("/saveItem") public String saveNewBook(Model model,Books book) { int code = bookService.addBook(book); return "redirect:/book/allBook"; } }

2.编写index.jsp

首页 a { text-decoration: none; color: black; font-size: 18px; } h3 { width: 180px; height: 38px; margin: 100px auto; text-align: center; line-height: 38px; background: deepskyblue; border-radius: 4px; } 点击进入列表页

3.编写书籍列表页面allBook.jsp

书籍列表 书籍列表 —— 显示所有书籍 新增 书籍编号 书籍名字 书籍数量 书籍详情 操作 ${book.getBookID()} ${book.getBookName()} ${book.getBookCounts()} ${book.getDetails()} 更改 | 删除

4.新增书籍页面addBook.jsp

增加书籍 新增书籍 书籍名称: 书籍数量: 书籍详情:

5.修改书籍页面toUpdateBook.jsp

修改页面 修改书籍信息 书籍编号: 书籍名称: 书籍数量: 书籍详情:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3